目录
(3)构建一个SpringBoot项目(自行构建,如果不会就要补基础!!)
(5)连接数据库:即编写application.properties配置文件
为了照顾某些不太习惯看MyBatis文档的同学,这里由我来抛砖引玉,简单地说明下MyBaits地入门
需要的基础:对SSM有了解,并会基本的配置流程
学习意义:可以节省大量工作时间,所有的CRUD代码都可以由其自动化完成
MyBatis是简化JDBC操作的,而MyBatis是半持久层框架,无法自动生成基本的CRUD,因此对SQL语句编写能力的要求较高。而MyBaitisPlus是进一步简化MyBatis,可以自动生成基本的CRUD语句,除此之外,还有下列的功能:
无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑
损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作
强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求
支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错
支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解决主键问题
支持 ActiveRecord 模式:支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可进行强大的 CRUD 操作
支持自定义全局通用操作:支持全局通用方法注入( Write once, use anywhere )
内置代码生成器:采用代码或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码,支持模板引擎,更有超多自定义配置等您来使用
内置分页插件:基于 MyBatis 物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通 List 查询
分页插件支持多种数据库:支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer 等多种数据库
内置性能分析插件:可输出 SQL 语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询
内置全局拦截插件:提供全表 delete 、 update 操作智能分析阻断,也可自定义拦截规则,预防误操作
建表:
- 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)
- );
赋值:
- DELETE FROM user;
-
- 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');
- <parent>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-parentartifactId>
- <version>2.2.5.RELEASEversion>
- <relativePath/>
- parent>
- <dependency>
- <groupId>mysqlgroupId>
- <artifactId>mysql-connector-javaartifactId>
- dependency>
-
- <dependency>
- <groupId>org.projectlombokgroupId>
- <artifactId>lombokartifactId>
- dependency>
-
- <dependency>
- <groupId>com.baomidougroupId>
- <artifactId>mybatis-plus-boot-starterartifactId>
- <version>3.0.5version>
- dependency>
注意:尽量不要同时导入MyBatis和MyBaitis-plus依赖
- spring.datasource.username=root
- spring.datasource.password=abc15976582078
- spring.datasource.url=jdbc:mysql://localhost:3306/mybatis-plus?useUinicode=true&characterEncoding=utf8&useSSL=false
- spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
(6).使用mybatis时传统方式:pojo-dao(连接mybatis、配置mapper.xml文件)、service-controller
使用mybatis-plus之后,只需要以下步骤:
1.pojo
- @Data
- @AllArgsConstructor
- @NoArgsConstructor
- public class User {
-
- private Long id;
- private String name;
- private Integer age;
- private String email;
-
-
- }
2.mapper接口
- //在对应的Mapper上面实现基本的接口 BaseMapper
- @Repository //加上该注解代表持久层
- public interface UserMapper extends BaseMapper
{ -
- //所有的CRUD操作已经编写完成
- //你不需要像以前一样配置一大堆文件
-
-
-
- }
3.使用
- @MapperScan("com.example.mybatisplus.mapper")//扫描我们的Mapper文件夹
- @SpringBootApplication
- public class MybatisplusApplication {
-
- public static void main(String[] args) {
- SpringApplication.run(MybatisplusApplication.class, args);
- }
-
- }
- @SpringBootTest
- class MybatisplusApplicationTests {
- //继承了BaseMapper,所有的方法都是由自己来写
- @Autowired
- private UserMapper userMapper;
-
-
- @Test
- void contextLoads() {
-
- //查询全部用户
- //参数是一个wrapper,条件构造器,这里我们先用null
- List
users = userMapper.selectList(null); - users.forEach(System.out::println);
- }
-
- }
可以看到测试结果成功。真的非常非常之方便,不用再写基本sql,直接就由MyBatisplus帮我们写好。