夜间模式
快速入门
使用前准备
引入依赖
xml<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.3.1</version> <!-- 具体版本根据使用情况而定 --> </dependency>
1
2
3
4
5
6mapper层继承
javapublic interface UserMapper extends BaseMapper<User> { }
1
2其中
<>
内指定实体类。即可对实体类对应的数据库中的表进行操作!
TIP
因为mybatis-plus的依赖包已经包含了mybatis的依赖,可以把mybatis的依赖注解了,以免出现依赖冲突的情况。
配置
yamlspring: datasource: url: jdbc:mysql://127.0.0.1:3306/mp?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai driver-class-name: com.mysql.cj.jdbc.Driver username: root password: 201819
1
2
3
4
5
6
简单具体使用
对于mapper继承时指定的User类、表可以通过这样操作!
首先需要注入mapper
java
@Autowired
private UserMapper userMapper;
1
2
2
查询
根据id查询单个user
java
var user = userMapper.selectById(5L);
System.out.println("user = " + user);
1
2
2
结果:
bash
15:49:11 DEBUG 15456 --- [ main] c.i.mp.mapper.UserMapper.selectById : ==> Preparing: SELECT id,username,password,phone,info,status,balance,create_time,update_time FROM user WHERE id=?
15:49:11 DEBUG 15456 --- [ main] c.i.mp.mapper.UserMapper.selectById : ==> Parameters: 5(Long)
15:49:11 DEBUG 15456 --- [ main] c.i.mp.mapper.UserMapper.selectById : <== Total: 1
user = User(id=5, username=Lucy, password=123, phone=18688990011, info={"age": 24, "intro": "英文老师", "gender": "female"}, status=1, balance=20000, createTime=2024-07-13T09:48:56, updateTime=2024-07-13T15:24:37)
1
2
3
4
2
3
4
查询一堆user
java
List<User> users = userMapper.selectBatchIds(List.of(1L, 2L, 3L, 4L));
users.forEach(System.out::println);
1
2
2
结果:
bash
15:50:56 DEBUG 29876 --- [ main] c.i.mp.mapper.UserMapper.selectBatchIds : ==> Preparing: SELECT id,username,password,phone,info,status,balance,create_time,update_time FROM user WHERE id IN ( ? , ? , ? , ? )
15:50:57 DEBUG 29876 --- [ main] c.i.mp.mapper.UserMapper.selectBatchIds : ==> Parameters: 1(Long), 2(Long), 3(Long), 4(Long)
15:50:57 DEBUG 29876 --- [ main] c.i.mp.mapper.UserMapper.selectBatchIds : <== Total: 4
User(id=1, username=Jack, password=123, phone=13900112224, info={"age": 20, "intro": "佛系青年", "gender": "male"}, status=1, balance=1600, createTime=2023-05-19T20:50:21, updateTime=2023-06-19T20:50:21)
User(id=2, username=Rose, password=123, phone=13900112223, info={"age": 19, "intro": "青涩少女", "gender": "female"}, status=1, balance=600, createTime=2023-05-19T21:00:23, updateTime=2023-06-19T21:00:23)
User(id=3, username=Hope, password=123, phone=13900112222, info={"age": 25, "intro": "上进青年", "gender": "male"}, status=1, balance=100000, createTime=2023-06-19T22:37:44, updateTime=2023-06-19T22:37:44)
User(id=4, username=Thomas, password=123, phone=17701265258, info={"age": 29, "intro": "伏地魔", "gender": "male"}, status=1, balance=800, createTime=2023-06-19T23:44:45, updateTime=2023-06-19T23:44:45)
1
2
3
4
5
6
7
2
3
4
5
6
7
插入
java
User user = new User();
user.setId(6L);
user.setUsername("port");
user.setPassword("123");
user.setPhone("18688990011");
user.setBalance(200);
user.setInfo("{\"age\": 24, \"intro\": \"英文老师\", \"gender\": \"female\"}");
user.setCreateTime(LocalDateTime.now());
user.setUpdateTime(LocalDateTime.now());
userMapper.insert(user);
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
显示结果
bash
16:04:23 DEBUG 17424 --- [ main] com.itheima.mp.mapper.UserMapper.insert : ==> Preparing: INSERT INTO user ( id, username, password, phone, info, balance, create_time, update_time ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ? )
16:04:23 DEBUG 17424 --- [ main] com.itheima.mp.mapper.UserMapper.insert : ==> Parameters: 7(Long), kirari(String), 123(String), 18688990011(String), {"age": 24, "intro": "英文老师", "gender": "female"}(String), 200(Integer), 2024-07-13T16:04:22.748705800(LocalDateTime), 2024-07-13T16:04:22.748705800(LocalDateTime)
16:04:23 DEBUG 17424 --- [ main] com.itheima.mp.mapper.UserMapper.insert : <== Updates: 1
1
2
3
2
3
删除
java
userMapper.deleteById(5L);
userMapper.deleteBatchIds(List.of(1L, 2L, 3L, 4L));
1
2
2
修改
java
User user = new User();
user.setId(5L);
user.setBalance(20000);
userMapper.updateById(user);
1
2
3
4
2
3
4