Mybatis-Plus快速入门
入门案例 MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提高效率 开发方式 基于MyBatis使用MyBatisPlus 基于Spring使用MyBatisPlus 基于SpringBoot使用MyBatisPlus SpringBoot整合MyBatis开发过程(复习) 创建SpringBoot工程 勾选配置使用的技术 设置dataSource相关属性(JDBC参数) 定义数据层接口映射配置 SpringBoot整合MyBatisPlus入门程序 1:创建新模块,选择Spring初始化,并配置模块相关基础信息 2:选择当前模块需要使用的技术集(仅保留JDBC) 3:手动添加mp起步依赖 由于mp并未被收录到idea的系统内置配置,无法直接选择加入 <dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.1</version>
</dependency>
4:设置Jdbc参数(application.yml) spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/dp1?useUnicode=true&characterEncoding=utf-8
username: root
password: root
5:制作实体类与表结构(类名与表名对应,属性名与字段名对应) -- 创建person表
CREATE TABLE person(
id BIGINT PRIMARY KEY auto_increment, -- 主键id
name VARCHAR(20), -- 姓名
password VARCHAR(40), -- 密码
age VARCHAR(20), -- 年龄
tel VARCHAR(40) -- 电话
);
-- 添加数据
INSERT INTO person VALUES (NULL,'张三',4243,13,142424),(NULL,'李四',3256,16,145623),(NULL,'王五',9256,20,197864);
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Person {
private Long id;
private String name;
private String password;
private String age;
private String tel;
}
6:定义数据接口,继承BaseMapper<User> @Mapper
public interface PersonDao extends BaseMapper<Person> {
}
7:测试类中注入dao接口,测试功能 @SpringBootTest
class MybatisPlus01ApplicationTests {
@Autowired
private PersonDao personDao;
@Test
void testGetAll() {
List<Person> personList = personDao.selectList(null);
System.out.println(personList);
}
}
MyBatisPlus特性 无侵入:只做增强不做改变,不会对现有工程产生影响 强大的CRUD操作:内置通用 Mapper,少量配置即可实现单表CRUD操作 支持Lambda:编写查询条件无需担心字段写错 支持主键自动生成 内置分页插件 标准数据层CRUD功能 新增 自定义接口 boolean save(T t) MP接口 int insert(T t) @Test
void testSave(){
Person person = new Person();
person.setName("后端程序员");
person.setPassword("icpc");
person.setAge("12");
person.setTel("673512");
personDao.insert(person);
}
删除 自定义接口 boolean delete(int id) MP接口 int deleteById(Serializable id) @Test
void testDelete(){
personDao.deleteById(1607368447103193090L);
}
修改 自定义接口 boolean update(T t) MP接口 int updateById(T t) @Test
void testUpdate(){
Person person = new Person();
person.setId(1L);
person.setName("Tom777");
personDao.updateById(person);
}
根据id查询 自定义接口 T getById(int id) MP接口 T selectById(Serializable id) @Test
void testGetById(){
Person person = personDao.selectById(2L);
System.out.println(person);
}
查询全部 自定义接口 List<T> getAll() MP接口 List<T> selectList() 分页查询 自定义接口 PageInfo<T> getAll(int page, int size) MP接口 IPage<T> selectPage(IPage<T> page) 按条件查询 自定义接口 List<T> getAll(Condition condition) MP接口 IPage<T> selectPage(Wrapper<T> queryWrapper)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/116259.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!