步骤 :
①导入mybatis-plus启动器
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>3.4.0</version>
</dependency>
②在yml文件配置一个数据源DataSource
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql:///springdb
username: root
password: root
③编写实体类,实体类需要使用@TableName注解,指定实体类对应的数据库表
实体类:
//注意: 如果实体类没有与表名对应,需要使用@TableName指定表名。
@TableName("tb_user")
@Data
public class User {private long id;
private String userName;
private String password;
}
④编写dao,Dao继承BaseMapper接口
mapper数据访问层 :
//使用上了mybatis-plus之后dao如果是单表的CRUD,只需要继承BaseMapper接口,那么这些方法全部都继承下来了
public interface UserDao extends BaseMapper<User> {
}
⑤测试,启动类增加 @MapperScan 注解,指定要扫描的数据访问层Dao
@SpringBootApplication
@MapperScan(basePackages="xxx.dao" ) //扫描dao
public class MPApplication {
public static void main(String[] args) {
SpringApplication.run(MPApplication.class, args);
}
}
@TableField注解说明
1) @TableField("user_name") 指定映射关系
实体类的属性名和数据库的字段名自动映射:
* 名称一样
* 数据库字段使用_分割,实体类属性名使用驼峰名称
否则需要使用 @TableField("数据库表名") 指定映射关系
2) 忽略某个字段的查询和插入
@TableField(exist = false)
3) 设置id生成策略:AUTO 数据库主键自增
@TableId(type = IdType.AUTO)
属性配置说明
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql:///mp
username: root
password: root
mybatis-plus:
global-config:
db-config:
# 表的前缀名
table-prefix: tb_
# 指定主键自增
id-type: auto
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl