使用第三方組件:(通用步驟)
1、導入對應的依賴
2、研究依賴如何配置
3、代碼如何編寫
4、提高擴展技術能力!
具體實現步驟:
1、創建數據庫 mybatis_plus
2、創建user表
DROP TABLE IF EXISTS user; CREATE TABLE user ( id BIGINT(20) NOT NULL COMMENT '主鍵ID', name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名', age INT(11) NULL DEFAULT NULL COMMENT '年齡', email VARCHAR(50) NULL DEFAULT NULL COMMENT '郵箱', PRIMARY KEY (id) ); INSERT INTO user (id, name, age, email) VALUES (1, 'Jone', 18, 'test1@baomidou.com'), (2, 'Jack', 20, 'test2@baomidou.com'), (3, 'Tom', 28, 'test3@baomidou.com'), (4, 'Sandy', 21, 'test4@baomidou.com'), (5, 'Billie', 24, 'test5@baomidou.com'); -- 真實開發中,version(樂觀鎖)、deleted(邏輯刪除)、gmt_create、gmt_modified
3、編寫項目,初始化項目!使用SpringBoot初始化!(不演示了)
4、導入依賴
<!-- 數據庫驅動 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <!-- mybatis-plus --> <!-- mybatis-plus 是自己開發,並非官方的! --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.0.5
說明:我們使用 mybatis-plus 可以節省我們大量的代碼,盡量不要同時導入 mybatis 和 mybatisplus!版本的差異!
5.連接數據庫
# mysql 5 驅動不同 com.mysql.jdbc.Driver # mysql 8 驅動不同com.mysql.cj.jdbc.Driver、需要增加時區的配置 serverTimezone=GMT%2B8 spring.datasource.username=root spring.datasource.password=123456 spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus? useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTime
6.創建實體類(這里使用@lombok注解)
@Data @AllArgsConstructor @NoArgsConstructor public class User { private Long id; private String name; private Integer age; private String email; }
7.編寫mapper接口( 繼承和傳遞實體類參數)注意點,我們需要在主啟動類上去掃描我們的mapper包下的所有接口!
@MapperScan("com.kuang.mapper")
// 在對應的Mapper上面繼承基本的類 BaseMapper @Repository // 代表持久層 public interface UserMapper extends BaseMapper<User> { // 所有的CRUD操作都已經編寫完成了 // 你不需要像以前的配置一大堆文件了! }
8.測試
@SpringBootTest class MybatisPlusApplicationTests { // 繼承了BaseMapper,所有的方法都來自己父類 // 我們也可以編寫自己的擴展方法! @Autowired private UserMapper userMapper; @Test void contextLoads() { // 參數是一個 Wrapper ,條件構造器,這里我們先不用 null // 查詢全部用戶 List<User> users = userMapper.selectList(null); users.forEach(System.out::println);//使用的函數方式實現 }
素材來自:blibli狂神說
【免責聲明】:本文只做學習使用