我使用的是springboot来配合mybatis-plus(下面我会简称MP),其实MP和jpa的用法一样,都是封装了一些sql
首先使用新的模块是需要导入相应的pom依赖
<!--引入mybatis-plus组件-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.1.1</version>
</dependency>
注: 当你引入MP依赖时 就是不需要在导入mybatis的依赖,ssm传统架构需要引入spring版的依赖
引入依赖后首先配置一下application.yml里面的配置
mybatis-plus:
#信息输出设置
# xml地址
mapper-locations: classpath:mapper/*mapper.xml
# 实体扫描,多个package用逗号或者分号分隔
# type-aliases-package: *** #自己的实体类地址
type-aliases-package: com.example.demo.entity
代码块内有我对代码相应的解释
接下来只需要在创建的实体类继承Model,Dao层接口继承BaseMapper即可
@Data//这里使用的时lombok插件
@TableName("user_info")
public class User extends Model<User> {
@TableId(type=IdType.AUTO)
private Integer id;
private String name;
private Integer age;
private String skill;
private String evaluate;
private Integer fraction;
@TableField(fill = FieldFill.INSERT)
private Date createTime;
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
}
dao层代码
public interface UserDao extends BaseMapper<User> {
@Select("select * from user_info where id=#{id}")
public User getUser(User user);
}
然后就可以在serviceImpl类文件使用类.方法名来调用MP封装的sql实现快速查询
MP只是在mybatis基础上面升级,当遇到复杂的sql语句时,可以把复杂sql写入*mapper.xml内
然后在Dao层写接口
当你启动时报**Dao层错误的时候 ,一般由两种情况:
1、启动类没有添加@MapperScan()注解
2、你的maper.xml写错了 ,大多数错误都在细节上面