mybatis由浅入深day01_4.7根据用户名称模糊查询用户信息_4.8添加用户((非)自增主键返回)
4.7 根据用户名称模糊查询用户信息
4.7.1 映射文件
使用User.xml,添加根据用户名称模糊查询用户信息的sql语句。
4.7.2 程序代码
控制台:
4.8 添加用户
4.8.1 映射文件
在 User.xml中配置添加用户的Statement
4.8.2 程序代码
控制台:
4.8.3 自增主键返回
mysql自增主键,执行insert提交之前自动生成一个自增主键。
通过mysql函数获取到刚插入记录的自增主键:
LAST_INSERT_ID()
是insert之后调用此函数。
修改insertUser定义:
添加selectKey实现将主键返回
keyProperty:返回的主键存储在pojo中的哪个属性
order:selectKey的执行顺序,是相对与insert语句来说,由于mysql的自增原理执行完insert语句之后才将主键生成,所以这里selectKey的执行顺序为after
resultType:返回的主键是什么类型
LAST_INSERT_ID():是mysql的函数,返回auto_increment自增列新记录id值。
4.8.4 非自增主键返回(使用uuid())
使用mysql的uuid()函数生成主键,需要修改表中id字段类型为string,长度设置成35位。
执行思路:
先通过uuid()查询到主键,将主键输入 到sql语句中。
执行uuid()语句顺序相对于insert语句之前执行。
注意这里使用的order是“BEFORE”
通过oracle的序列生成主键:
<selectKey keyProperty="id" order="BEFORE" resultType="java.lang.String">
SELECT 序列名.nextval()
</selectKey>
insert into user(id,username,birthday,sex,address) value(#{id},#{username},#{birthday},#{sex},#{address})
注意这里使用的order是“BEFORE”
相关文章
- Mybatis将参数作为查询字段或表名
- MyBatis 映射文件详解
- mybatis sql in 查询
- Mybatis:动态SQL分组查询
- Mybatis-Plus中正确使用sum聚合函数
- MyBatis——mybatis基本搭建
- 解决Mybatis-Plus或PageHelper多表分页查询总条数不对问题
- Mybatis查询结果为空时,为什么返回值为NULL或空集合?
- Mybatis使用in并返回返回List
- ibatis 到 MyBatis区别
- Spring Boot 2.x基础教程:使用MyBatis访问MySQL
- Java学习-054-Mybatis IN查询,通过 foreach 获取列表数据
- mybatis注解式开发的循环遍历
- Mybatis之执行自定义SQL举例
- JSP-MyBatis(三)高级查询+分页+注解+延时+缓存+多对一
- 2023年mybatis常见面试题10道
- MyBatis实现两种查询树形数据(嵌套结果集和递归查询)
- spring boot 2使用Mybatis多表关联查询
- 【MySQL】Mybatis-Plus解决多数据源无法输出SQL语句的问题
- Mybatis-plus之RowBounds实现分页查询
- Mybatis中的ParameterType
- Java 基础 MyBatis-Plus 组装查询条件