日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MybatisPlus入门案例

發布時間:2024/4/13 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MybatisPlus入门案例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
快速開始參考:http://mp.baomidou.com/guide/quick-start.html 測試項目:?mybatis_plus 數據庫:mybatis_plus

一、創建并初始化數據庫

1、創建數據庫:

mybatis_plus

2、創建?User?表

其表結構如下: idnameageemail
1Jone18test1@baomidou.com
2Jack20test2@baomidou.com
3Tom28test3@baomidou.com
4Sandy21test4@baomidou.com
5Billie24test5@baomidou.com

其對應的數據庫 Schema 腳本如下:

DROP TABLE IF EXISTS user; 2 3 CREATE TABLE user 4 ( 5id BIGINT(20) NOT NULL COMMENT '主鍵ID', 6name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名', 7age INT(11) NULL DEFAULT NULL COMMENT '年齡', 8email VARCHAR(50) NULL DEFAULT NULL COMMENT '郵箱', 9PRIMARY KEY (id) 10 );

其對應的數據庫 Data 腳本如下:

DELETE FROM user; 2 3 INSERT INTO user (id, name, age, email) VALUES 4 (1, 'Jone', 18, 'test1@baomidou.com'), 5 (2, 'Jack', 20, 'test2@baomidou.com'), 6 (3, 'Tom', 28, 'test3@baomidou.com'), 7 (4, 'Sandy', 21, 'test4@baomidou.com'), 8 (5, 'Billie', 24, 'test5@baomidou.com');

二、初始化工程

使用 Spring Initializr 快速初始化一個 Spring Boot 工程

Group:com.leon

Artifact:mybatis-plus

版本:2.2.1.RELEASE

?

三、添加依賴

1、引入依賴

spring-boot-starter、spring-boot-starter-test

添加:mybatis-plus-boot-starter、MySQL、lombok、

在項目中使用Lombok可以減少很多重復代碼的書寫。比如說getter/setter/toString等方法的編寫

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope><exclusions><exclusion><groupId>org.junit.vintage</groupId><artifactId>junit-vintage-engine</artifactId></exclusion></exclusions></dependency><!--mybatis-plus--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.0.5</version></dependency><!--mysql--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!--lombok用來簡化實體類--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies>

四、配置

在?application.properties?配置文件中添加 MySQL 數據庫的相關配置:

mysql5

#mysql數據庫連接spring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plusspring.datasource.username=rootspring.datasource.password=123456

mysql8以上(spring boot 2.1)

注意:driver和url的變化

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8spring.datasource.username=rootspring.datasource.password=123456

注意:

1、這里的?url?使用了??serverTimezone=GMT%2B8?后綴,因為Spring Boot 2.1 集成了 8.0版本的jdbc驅動,這個版本的 jdbc 驅動需要添加這個后綴,否則運行測試用例報告如下錯誤:

java.sql.SQLException: The server time zone value '?D1ú±ê×?ê±??' is unrecognized or represents more?

2、這里的?driver-class-name?使用了??com.mysql.cj.jdbc.Driver?,在 jdbc 8 中 建議使用這個驅動,之前的 com.mysql.jdbc.Driver 已經被廢棄,否則運行測試用例的時候會有 WARN 信息

五、編寫代碼

1、主類

在 Spring Boot 啟動類中添加?@MapperScan?注解,掃描 Mapper 文件夾 注意:掃描的包名根據實際情況修改 @SpringBootApplication@MapperScan("com.leon.mybatisplus.mapper")public class MybatisPlusApplication {......}

2、實體

創建包?entity?編寫實體類?User.java(此處使用了?Lombok?簡化代碼)

@Data public class User {private Long id;private String name;private Integer age;private String email;}

Lombok使用參考:

https://blog.csdn.net/motui/article/details/79012846

3、mapper

創建包?mapper?編寫Mapper?接口:?UserMapper.java public interface UserMapper extends BaseMapper<User> {}

六、開始使用

添加測試類,進行功能測試:

@RunWith(SpringRunner.class)@SpringBootTestpublic class MybatisPlusApplicationTests {@Autowiredprivate UserMapper userMapper;@Testpublic void testSelectList() {System.out.println(("----- selectAll method test ------"));//UserMapper 中的 selectList() 方法的參數為 MP 內置的條件封裝器 Wrapper//所以不填寫就是無任何條件List<User> users = userMapper.selectList(null);users.forEach(System.out::println);}}

注意:

IDEA在 userMapper 處報錯,因為找不到注入的對象,因為類是動態創建的,但是程序可以正確的執行。

為了避免報錯,可以在 dao 層 的接口上添加?@Repository?注

控制臺輸出:

User(id=1, name=Jone, age=18, email=test1@baomidou.com)User(id=2, name=Jack, age=20, email=test2@baomidou.com)User(id=3, name=Tom, age=28, email=test3@baomidou.com)User(id=4, name=Sandy, age=21, email=test4@baomidou.com)User(id=5, name=Billie, age=24, email=test5@baomidou.com)

通過以上幾個簡單的步驟,我們就實現了 User 表的 CRUD 功能,甚至連 XML 文件都不用編寫!

七、配置日志

查看sql輸出日志

#mybatis日志mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

?

總結

以上是生活随笔為你收集整理的MybatisPlus入门案例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。