参考官网地址:crud接口
1.引入依赖
<!-- 引入springboot集成mybatis-plus的依赖 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
<!-- 引入连接mysqld的依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.17</version>
</dependency>
2.配置mysql数据源
spring:
datasource:
url: jdbc:mysql://192.168.175.132:3306/mytest
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
3.Mapper CRUD 接口使用
使用方式: 在mapper层继承BaseMapper接口即可
public interface UserMapper extends BaseMapper<User>
常用的方法:参考官网链接
4.Service CRUD 接口使用
使用方式:接口继承Iservice接口,实现类继承ServiceImpl,实现自定义的接口
public interface UserService extends IService<User>
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService
常用方法:参考官网链接
5.解决类名与表名不同或属性与表字段不同查询问题
参考官网:常用注解
表结构:
CREATE TABLE user
(
id BIGINT(20) NOT NULL COMMENT '主键ID',
name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
age INT(11) NULL DEFAULT NULL COMMENT '年龄',
email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (id)
);
对应的实体类:
// 用@TableName来指定表名
// 用@TableId来标注主键
// 用@TableField来指定表的字段(非主键字段)
@Data
@TableName("user")
public class MyUser {
@TableId("id")
private int myId;
@TableField("name")
private String myName;
@TableField("age")
private int myAge;
@TableField("email")
private String myEmail;
}
6.解决当类的属性与表字段不同时使用QueryWrapper的select方法查询部分字段无法赋值的问题
// 只是查询表中的部分字段id,name,age
List<MyUser> list = myUserMapper.selectList(new QueryWrapper<MyUser>().select("id", "name", "age"));
list.forEach(item -> {
// 查询出来的结果全部是null
System.out.println(item);
});
// 正确的写法应该是:取别名与类属性名对应
List<MyUser> list1 = myUserMapper.selectList(new QueryWrapper<MyUser>().select("id myId", "name myName", "age myAge"));