快速开发之MybatisPlus的基本使用
1.引入jar包
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.4</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.2.0</version>
</dependency>
2.写application配置文件
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/zk
spring.datasource.username=root
spring.datasource.password=root
3.码entity实体类
// lombok的注解
@Data
@AllArgsConstructor
@NoArgsConstructor
// 当前实体和具体的表名映射(如果实体类名字和表名一样可不写)
@TableName("zk_user")
public class User implements Serializable {
// 在此为ID自动生成
@TableId(type = IdType.AUTO)
private Integer id;
private String name;
private String sex;
private Integer age;
// 当前类中的属性和表中列名映射(如果一致可不写;如果都严格遵循自己的命名规则可不写,java为驼峰,数据库用_分割)
@TableField(value = "birthday")
private Date bir;
// 声明当前字段不在表中存在
@TableField(exist = false)
private String father;
}
数据库表:
实体类正常书写,按需添加相关注解即可,常用的在上述实体中已尽展示
具体参见Mybatis-Plus官网文档:https://baomidou.com/guide/annotation.html.
4.码mapper接口
package com.zk.datastruct.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zk.datastruct.entity.User;
public interface UserMapper extends BaseMapper<User> {
//任何代码没有,只需继承BaseMapper,写入对应范型即可,注意导包的正确性
}
5.修改入口类
@SpringBootApplication
// 入口类上添加如下注解,需扫描到mapper接口所在的包
@MapperScan("com.zk.datastruct.mapper")
public class DatastructApplication {
public static void main(String[] args) {
SpringApplication.run(DatastructApplication.class, args);
}
}
6.测试
@SpringBootTest
class DatastructApplicationTests {
@Autowired
private UserMapper userMapper;
@Test
void contextLoads() {
// 查所有
List<User> list = userMapper.selectList(null);
// 根据ids查询
List<User> list1 = userMapper.selectBatchIds( Arrays.asList(1,2,3) );
// 根据id查询
User user = userMapper.selectById(1);
// 当然还有QueryWrapper的具体使用
// 查询性别为女并且年龄为18岁的用户
QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
userQueryWrapper.eq("sex", "女").eq("age", 18);
List<User> users = userMapper.selectList(userQueryWrapper);
// 其他的相关API就不过多演示了
}
}
如果没有获取到帮助,请参阅Mybatis-Plus官网 https://baomidou.com