全面解析2022版Mybatis-plus
最编程
2024-02-02 15:29:49
...
Mybatis-plus学习笔记
1、创建数据库及表
1.1、创建表
CREATE DATABASE `mybatis_plus`; USE `mybatis_plus`; 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`) )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
1.2、添加数据
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');
2、创建Spring Boot工程
2.1、初始化工程
使用Spring Initializr 快速初始化一个Spring Boot 工程
MySQL、lombok、mybatis-plus依赖
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <!--mybatis-plus启动器--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.1</version> </dependency> <!--mysql驱动器--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <!--lombok依赖用于简化实体类开发--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </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> </dependencies>
安装lombok插件File——>Settings——>Plugins 搜lombok
2.2、配置application.yml(application.properties)
application.yml
spring # 配置数据源 datasource # 数据源类型 type com.zaxxer.hikari.HikariDataSource # 配置连接数据库的各个信息 driver-class-name com.mysql.cj.jdbc.Driver url jdbc mysql //localhost 3306/mybatis_plus?characterEncoding=utf-8&useSSL=false&serverTimezone=GMT2%B8 username root password ****
application.properties
spring.datasource.type=com.zaxxer.hikari.HikariDataSource spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?useSSL=false&serverTimezone=GMT%2B8 spring.datasource.username=root spring.datasource.password=****
3、创建实体类及lombok的简单使用
3.1、创建实体类
public class User { private long id; private String name; private Integer age; private String email; }
3.2、创建mapper接口
public interface UserMapper extends BaseMapper<User> { }
在启动类上添加@MapperScan
// 扫描mapper所在的包 "com.chen.mapper") (public class MybatisPlusApplication { public static void main(String[] args) { SpringApplication.run(MybatisPlusApplication.class, args); } }
3.3、编写测试类
MybatisPlusTest
public class MybatisPlusTest { private UserMapper userMapper; public void testSelectList() { // 通过条件构造器查询一个list集合,若有条件,则可以设置为null List<User> list = userMapper.selectList(null); list.forEach(System.out::println); } }
3.4、加入日志功能
在application.yml中加入以下代码
mybatis-plus configuration log-impl org.apache.ibatis.logging.stdout.StdOutImpl
运行之后,可以查看生成SQL语句,也可以使用Log4jImpl
对日志进行打印
4、BaseMapper
4.1、BaseMapper的添加方法测试
public void testInsert() { // 实现新增用户信息 // INSERT INTO user ( id, name, age, email ) VALUES ( ?, ?, ?, ? ) User user = new User(); user.setName("张三"); user.setAge(18); user.setEmail("zhangsan@atguigu.com"); int result = userMapper.insert(user); System.out.println("result:" + result); System.out.println("id:" + user.getId()); }
4.2、BaseMapper的删除方法测试
public void testDelete() { // 通过ID删除一个用户 // DELETE FROM user WHERE id=? /*int result = userMapper.deleteById(1499047219186933761L); System.out.println(result);*/ // 根据map集合中的所设置的条件删除用户信息 // DELETE FROM user WHERE name = ? AND age = ? /*Map<String, Object> map = new HashMap<>(); map.put("name","张三"); map.put("age",18); int result = userMapper.deleteByMap(map); System.out.println(result);*/ // 通过多个id实现批量删除 // DELETE FROM user WHERE id IN ( ? , ? ) List<Long> list = Arrays.asList(1499047368323870722L, 1499047451270430721L); int result = userMapper.deleteBatchIds(list); System.out.println(result); }
4.3、BaseMapper的更新方法测试
public void testUpdate() { // 通过id来更新用户的信息 // UPDATE user SET name=?, age=? WHERE id=? User user = new User(); user.setId(1499050741030797314L); u
推荐阅读
-
光栅化全面解析
-
全面解析:腾讯 CDB 内核特性与优化实践 - III.TxSQL 深度优化
-
共同学习哨兵原则 - 全面解析
-
全面解析引领多平台时代的 C# 语言
-
全面解析单模光纤和多模光纤,谁才是速度之王?
-
韩国Coupang、日本乐天怎么办?亿万卖家全面解析日韩市场金砖爆点!9月2日,2023CCEE(深圳)雨果网跨境全球电商展期间将举办日韩海淘论坛。日韩两大主流平台--韩国Coupang、日本乐天领衔,亿万卖家助阵,为你解析日韩市场金块爆点!
-
深入理解数据库事务与锁定机制全面解析
-
全面解读物联网通信技术:实际应用案例解析
-
物联网(IoT)的基本通信方式:全面解析七大协议
-
2023年CKS考试服务账户详解及题目解析(全面指南)