91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Springboot mybatis-plus配置及用法詳解

發布時間:2020-10-07 14:16:58 來源:腳本之家 閱讀:566 作者:kinglead 欄目:開發技術

本節內容擴展介紹下針對mybatis的增強工具mybatis-plus,在 MyBatis 的基礎上只做增強不做改變,為簡化開發、提高效率而生。

二話不多說,我們先寫編寫個簡單的例子,讓大家先初步的了解下mybatis-plus。

1.mybatis-plus初步實例

(1)創建一個spring boot web工程(具體創建過程就不再演示了,還不會的同學去看看spring boot專題第一節內容)

(2)引入依賴

<!--web項目依賴-->
 <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
 </dependency>
 <!--validation表單校驗-->
 <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-validation</artifactId>
 </dependency>
 <!--mybatis-plus-->
 <dependency>
   <groupId>com.baomidou</groupId>
   <artifactId>mybatis-plus-boot-starter</artifactId>
   <version>3.4.0</version>
 </dependency>
 <!--mysql驅動-->
 <dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
 </dependency>
 <!--thymeleaf依賴包-->
 <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-thymeleaf</artifactId>
 </dependency>
 <!--lombok-->
 <dependency>
   <groupId>org.projectlombok</groupId>
   <artifactId>lombok</artifactId>
   <optional>true</optional>
 </dependency>

(3)配置文件application.yml

# DataSource Config
 spring:
  datasource:
   username: root
   password: tx@mysql@2020
   url: jdbc:mysql://188.131.233.55:3306/spring_boot_topic
   driver-class-name: com.mysql.cj.jdbc.Driver(4)

(4)實體類User

package com.kinglead.demo.domain;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 ​
 @Data
 @TableName(value = "t_user") //指明數據庫表名
 public class User {
   private Long id;
   private String name;
   private Integer age;
   private String email;
 }

(5)創建Mapper接口

package com.kinglead.demo.mapper;
 ​
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.kinglead.demo.domain.User;
 ​
 //未來使用mybatis-plus的公共接口,必須繼承BaseMapper
 public interface UserMapper extends BaseMapper<User> {
 }

(6)創建Service接口

UserService

package com.kinglead.demo.service;
 import com.kinglead.demo.domain.User;
 import java.util.List;
 public interface UserService {
   List<User> queryUserList();
 }

UserServiceImpl

package com.kinglead.demo.service.impl;
 ​
 import com.kinglead.demo.domain.User;
 import com.kinglead.demo.mapper.UserMapper;
 import com.kinglead.demo.service.UserService;
 import org.springframework.stereotype.Service;
 ​
 import javax.annotation.Resource;
 import java.util.List;
 ​
 @Service
 public class UserServiceImpl implements UserService {
   @Resource
   private UserMapper userMapper;
   @Override
   public List<User> queryUserList() {
     //使用mybatis-plus公共查詢接口完成列表查詢
     return userMapper.selectList(null);
   }
 }

(7)創建controller

package com.kinglead.demo.controller;
 ​
 import com.kinglead.demo.domain.User;
 import com.kinglead.demo.service.UserService;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.servlet.ModelAndView;
 ​
 import javax.annotation.Resource;
 import java.util.List;
 ​
 @Controller
 @RequestMapping("/user")
 public class UserController {
 ​
   @Resource
   private UserService userService;
 ​
   @RequestMapping("/userList")
   public ModelAndView queryUserList(ModelAndView modelAndView){
     List<User> userList = userService.queryUserList();
     modelAndView.addObject("userList", userList);
     modelAndView.setViewName("userList");
     return modelAndView;
   }
 ​
 }

(8)用戶列表頁面

<!DOCTYPE html>
 <html xmlns:th="http://www.thymeleaf.org">
   <head>
     <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
     <title>用戶信息</title>
     <!--<link rel="stylesheet" type="text/css" href="/css/common.css" rel="external nofollow" />-->
     <style type="text/css">
       table {
         border: 1px solid black;
         text-align: center;
         border-collapse: collapse;
       }
       table thead th {
         border: 1px solid black;
       }
       table tbody td {
         border: 1px solid black;
       }
     </style>
   </head>
   <body>
     <div>
       <h3>用戶列表</h3>
     </div>
     <table cellpadding="0" cellspacing="0">
       <thead>
         <th>序號</th>
         <th>編碼</th>
         <th>用戶名</th>
       </thead>
       <tbody>
       <tr th:each="entries,stat:${userList}" th:>>
         <td th:text="${stat.count}"></td>
         <td th:text="${entries['id']}"></td>
         <td th:text="${entries['name']}"></td>
       </tr>
       </tbody>
     </table>
   </body>
 </html>

(9)啟動類

package com.kinglead.demo;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 @SpringBootApplication
 @MapperScan("com.kinglead.demo.mapper")
 public class App {
   public static void main(String[] args) {
     SpringApplication.run(App.class, args);
   }
 }

(10)測試訪問

Springboot mybatis-plus配置及用法詳解

小結

我們能看到mybatis-plus通過對mybatis的加強,能在不寫mapper.xml文件的情況下,完成簡單的CRUD的操作。看到這里,有的小伙伴可能會想,這和JPA有什么不一樣,直接用JPA不就好啦。

下面我們來對比下他們倆的區別:要說mybatis-plus,得先說mybatis。mybatis比較接近原生sql,要想使用的好,需要很好的sql基礎,所有的數據庫操作都必須寫sql語句;JPA是對hibernate的封裝,提取了很多CRUD的公共方法,可以在不寫sql的情況下完成不復雜的CRUD;mybatis-plus是mybatis的增強工具,天生擁有mybatis的優勢,也具備像JPA一樣擁有很多CRUD的公共方法,簡單的sql直接調用,不要編寫語句。

那我們該如何選擇他們呢?沒有哪個框架是最優的,主要還是要根據實際項目情況而定。如果項目不復雜,涉及不到很多復雜的數據處理,那么建議考慮JPA。如果項目復雜,涉及到很多復雜的數據處理,那么建議考慮mybatis或mybatis-plus,在這基礎上,如果想簡化mybatis,可以考慮mybatis-plus。

本節內容只是展示了mybatis-plus的冰山一角,它還有擁有很多特色功能,如支持主鍵字段生成、內置分頁插件等。

源碼地址:https://github.com/kinglead2012/myblog

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临泽县| 海城市| 澄城县| 晋宁县| 皋兰县| 开封市| 桐乡市| 肥乡县| 罗甸县| 铅山县| 英超| 太康县| 嘉义县| 镇远县| 怀柔区| 咸宁市| 江孜县| 望都县| 集贤县| 郯城县| 博爱县| 刚察县| 库车县| 邯郸县| 辰溪县| 犍为县| 奈曼旗| 遵化市| 大荔县| 新河县| 隆子县| 普兰县| 巴林左旗| 溧水县| 康马县| 习水县| 中西区| 灌云县| 名山县| 保定市| 康保县|