mybatis-plus学习笔记
使用mybatis-plus需要一些配置
mybatis配置
xml中配置:
<!--mybatisplus起步依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
<!--MySQL提供的JDBC驱动包,用于在Java应用程序中连接MySQL数据库-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
yml中配置
#@SpringBootApplication -——》启动所包含的@EnableAutoConfiguration 自动扫描yml进行设置
#配置数据源
spring:
datasource:
username: root
password: root
url: jdbc:mysql://192.168.227.128:3306/mp?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false
driver-class-name: com.mysql.cj.jdbc.Driver
配置结束后建立实体类
实体类:主要用于封装数据并提供对数据的访问和操作方法
@Data //可选
@Builder //可选
@TableName("user") //对应表的名字,实体类的类名(转成小写后)和数据库表名相同时,可以不指定该注解
public class User {
private Long id;
private String name;
private Integer age;
private String email;
private Long managerId;
private Date createTime;
}
在mapper层的操作,定义一个操作这个表的接口
传入实体类User,BaseMapper会自动生成crud等常用方法
public interface UserMapper extends BaseMapper<User> {
}
在建立启动类的时候加入@MapperScan(com.lsr.mapper)注解扫描启动类的文件
扫描后用private UserMapper usermapper可能会标红,但是不影响,跳过ideal检测即可,如果直接在每个Mapper接口加@Mapper注解就不会标红,但是太麻烦没必要,直接跳过ideal检测
mybatis-plus生成的mapper的使用如下
插入数据
public void test01(){
User user = User.builder() //用lombok包中的builder方法来创建实例更方便
.id(1234l) //但需要在User实体类上加@Builder注解
.name("lsr")
.age(18)
.email("1234@qq.com")
.managerId(1235l)
.build();
userMapper.insert(user); //insert方法需要传入一个实例
}
查询数据
userMapper.selectById()
需要传入的id实现了Serialzable接口

主键集合查找
//通过主键的集合来查找
public void test01(){
List<Long> longs = Arrays.asList(1088250446457389058l, 1234l);
List<User> users = userMapper.selectBatchIds(longs);
}
//通过传入一个Map来查询,map的key为表的字段名,value为表的字段值
public void test01(){
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("name","lsr");
List<User> users = userMapper.selectByMap(hashMap);
}
条件构造器
//通过selectMaps可返回自己想要的字段,而不是一个user对象
public void test01(){
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.select("id","name");
wrapper.eq("id",1234l);
List<Map<String, Object>> mapList = userMapper.selectMaps(wrapper);
System.out.println(mapList);
}

浙公网安备 33010602011771号