概述
mybatis-plus 介绍
mybatis-plus 简称MP,MP 使用类似于JPA Dao层接口继承BaseMapper 里面封装了Crud的一套方法 继承该接口,既可以调用方法进行基础的Crud,可以不用写sql 用过Hibernate 的都明白。
MP要求编程人员 要熟悉mybatis 自然也要熟悉sql 还有lambda 表达式 才能很好的学习掌握MP
下面是我写的测试项目 ,用于测试MP的方法 ,只是学习作用。
创建springboot项目 添加jar坐标
com.baomidou
mybatis-plus-boot-starter
3.1.0
application.yml
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/kgc?useSSL=false&ServerTimezone=GMT%2B8&characterEncoding=utf-8
username: root
password: root
logging:
level:
root: warn
com.mp.dao: trace 打印日志 只输出dao层 这里是输出sql语句
pattern:
console: '%p%m%n'
实体类
Data
@TableName("user")//该注解指定映射数据库表名 数据库名与实体类名一样时可以不写
public class User {
@TableId//这个注解是指定id的映射 MP 默认找id做主键 字段不是id 就需写上该注解
private Long id;
@TableField("name")//注解是指定非字段名映射 字段名不相同时使用
private String name;
private Integer age;
private String email;
//直接上级
private Long managerId;
//创建时间
private LocalDateTime createTime;
//备注 这里是程序运行的时需要的字段并非数据库字段
//MP 对于这种字段有三中解决方案 新增时 MP会自动过滤该属性不会添加到数据库 sql语句回忽略掉
//1 private transient String remark; 表示不参与数据序列化 如果该类都要序列化 可以采取第二种方案
//2 private static String remark 声明为静态变量(注意我这用的是Lombok 注解 静态变量不生成get、set 需要手动生成)
//3 @TableField(exist = false) exist 默认是true 表示该属性是数据库字段 false 表示非数据库字段
// private static String remark;
@TableField(exist = false)
private static String remark;
public static String getRemark() {
return remark;
}
public static void setRemark(String remark) {
User.remark = remark;
}
}
测试
@RunWith(SpringRunner.class)
@SpringBootTest
public class SimpleTest {
@Autowired
private UserMapper userMapper;
@Test
public void selectTest() {
List list = userMapper.selectList(null);
Assert.assertEquals(5, list.size());
list.forEach(System.out::println);
}
@Test
public void insertTest() {
User user = new User( );
user.setAge(22);
user.setName("刘强");
user.setManagerId(1088248166370832385L);
user.setCreateTime(LocalDateTime.now());
user.setRemark("程序组装字段");
int insert = userMapper.insert(user);
System.out.println("影向记录数"+insert);
List idlist = Arrays.asList(1088248166370832385L,1088250446457389058L,1094590409767661570L);
//生成的sql为SELECT id,name,age,email,manager_id,create_time FROM user WHERE id IN ( ? , ? , ? )
List userList = userMapper.selectBatchIds(idlist);
userList.forEach(System.out::println);
}
@Test
public void selectByMap() {
Map map = new HashMap<>();
//生成的sql SELECT id,name,age,email,manager_id,create_time FROM
最后
以上就是帅气流沙为你收集整理的mybatiplus的apply_mybatis-plus入门的全部内容,希望文章能够帮你解决mybatiplus的apply_mybatis-plus入门所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复