第 2 章 MybatisPlus 通用 CRUD

您所在的位置:网站首页 以前的江南指的是哪里 第 2 章 MybatisPlus 通用 CRUD

第 2 章 MybatisPlus 通用 CRUD

2023-04-26 01:41| 来源: 网络整理| 查看: 265

第 2 章 MybatisPlus 通用 CRUD 1、概述

回想一下,如果我们有一张 User 表,并且已经创建好了对应的实体类,实现 User 表的 CRUD 操作我们需要做什么呢?

Mybatis 通用 CRUD 的步骤

首先我们需要编写 UserMapper 映射接口,手动在 UserMapper 接口中定义 CRUD 方法

接着我们需要创建 UserMapper.xml 映射文件,并手动编写每个方法对应的 SQL 语句

MybatisPlus 通用 CRUD 的步骤

只需要创建 UserMapper 接口,并继承 BaseMapper接口。这就是使用 MP 需要完成的所有操作,甚至不需要创建 SQL映射文件,就能使我们自己创建的 Mapper 接口拥有最基本的 CRUD 方法

2、插入操作

0、Insert API

// 插入一条记录 int insert(T entity);

参数说明

类型参数名描述Tentity实体对象

1、插入一条记录:int insert(T entity);

@Test public void insert() { User userOneby = new User(); userOneby.setName("Oneby"); userOneby.setAge(21); userOneby.setEmail("[email protected]"); int result = userMapper.insert(userOneby); System.out.println("影响行数:" + result); System.out.println(userOneby); User userHeygo = new User(); userHeygo.setName("Heygo"); userHeygo.setAge(21); userHeygo.setEmail(null); result = userMapper.insert(userHeygo); System.out.println("影响行数:" + result); System.out.println(userHeygo); }

insert() 方法在插入数据时,会根据实体类的每个属性进行非空判断,只有非空的属性对应的字段才会出现到 SQL 语句中

打印输出 user 对象,其 id 字段不为 null,这说明主键默认自动回填,但是有个问题:主键貌似并不是自增主键,这个问题得请 @TableId 注解来解决,后面会讲

Creating a new SqlSession SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@51e0301d] was not registered for synchronization because synchronization is not active 2021-04-22 21:45:52.571 INFO 8228 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2021-04-22 21:45:52.696 INFO 8228 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. JDBC Connection [HikariProxyConnection@2097614581 wrapping com.mysql.cj.jdbc.ConnectionImpl@7a55f148] will not be managed by Spring ==> Preparing: INSERT INTO user ( id, name, age, email ) VALUES ( ?, ?, ?, ? ) ==> Parameters: 1385228362414358529(Long), Oneby(String), 21(Integer), [email protected](String) Preparing: INSERT INTO user ( id, name, age ) VALUES ( ?, ?, ? ) ==> Parameters: 1385228363135778818(Long), Heygo(String), 21(Integer) Preparing: UPDATE user SET name=?, age=? WHERE id=? ==> Parameters: Heygo(String), 21(Integer), 1(Long) Preparing: SELECT id,name,age,email FROM user WHERE id=? ==> Parameters: 1(Integer) Parameters: 2(Integer)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3