mybatis如何设置useGeneratedKeys=true
目录
- mybatis设置useGeneratedKeys=true
- 注意
- mybatis使用逆向工程中的小细节useGeneratedKeys=true
- 在使用你工程的过程中
mybatis设置useGeneratedKeys=true
注意
返回的主键是在我们插入的对象上,而不是真的返回值int上;
这一点和mybatisplus插件效果一样
mybatis使用逆向工程中的小细节useGeneratedKeys=true
在使用你工程的过程中
使用insert方法,可以不设置返回值,直接将对象传到方法形参,对象中的id等属性可以自定义返回映射到对象的某个属性上,相当于hibernate中的持久态一样
useGeneratedKeys="true" keyProperty="mid"
以上代表将新增的主键映射到实体的mid属性上,这样就可以直接在代码中调用
metaPOMapper.insertSelective(metaPO);
在这里,使用isert方法插入了一条数据,就可以是直接在下面来使用
mid = metaPO.getMid();
这里的mid若是配置了上面的参数,则是存在的,不需要再去查找数据库.....
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Mybatis插入时返回自增主键方式(selectKey和useGeneratedKeys)
目录 Mybatis插入时返回自增主键 Mybatis批量插入返回自增主键 解决办法 Mybatis插入时返回自增主键 通过selectKey在插入操作前或者操作后获取key值,做为字段插入或返回字段.(此段代码获取的序列值id作为字段值插入到实体类中返回) <insert id="insert"> <selectKey keyProperty="id" resultType="int" order="AFTER&qu
-
MyBatis别名和settings设置方式
MyBatis别名和settings设置 别名(typeAliases)是一个指代的名称,在类的限定名过长时可以指定别名来简化使用,MyBatis里分为系统定义别名和自定义别名两种,系统定义别名是不需要我们再去指定的,通过TypeAliasRegistry类注册. MyBatis中别名不区分大小写,一个typeAliases的实例是在解析配置文件时生成的,然后长期保存在Configuration对象中. 接下来配置别名: 1.在MyBatis Spring配置文件中引入配置 指定configLo
-
Mybatis使用useGeneratedKeys获取自增主键的方法
摘要 我们经常使用useGenerateKeys来返回自增主键,避免多一次查询.也会经常使用on duplicate key update,来进行insertOrUpdate,来避免先query 在insert/update.用起来很爽,但是经常踩坑,还不知为何.本篇就是深入分析获取自增主键的原理. 问题 首先摘两段我司一些老代码的bug 批量插入用户收藏 for (tries = 0; tries < MAX_RETRY; tries++) { final int result = colle
-
mybatis如何设置useGeneratedKeys=true
目录 mybatis设置useGeneratedKeys=true 注意 mybatis使用逆向工程中的小细节useGeneratedKeys=true 在使用你工程的过程中 mybatis设置useGeneratedKeys=true 注意 返回的主键是在我们插入的对象上,而不是真的返回值int上: 这一点和mybatisplus插件效果一样 mybatis使用逆向工程中的小细节useGeneratedKeys=true 在使用你工程的过程中 使用insert方法,可以不设置返回值,直接将对象
-
Mybatis中设置全局变量的方法示例
前言 在平时的工作中有时候是需要在配置文件中配置全局变量的,因为这些东西是不会变的,并且每个mapper都传参的话也显得有点繁琐,还好mybatis本身是支持全局变量的,今天工作中用到了,记录一下. mybatis可以设置全局变量,可以用于数据库类型的标示,比如:dbType=oracle .dbType=mysql; 可通过configurationProperties参数设置,设置方法如下: <bean id="sqlSessionFactory" class="o
-
.NET中TextBox控件设置ReadOnly=true后台取不到值三种解决方法
当TextBox设置了ReadOnly="true" 后,要是在前台为控件添加了值,后台是取不到的,值为"空" 原理没想通,说不清楚微软是出于什么考虑的,不过有时是要我们能通过前台脚本来填充值,并不希望用户修改其控件内容,这时就比较尴尬了. 刚开始是换成Html 里的 <input type="text" readonly="readonly" > ,不过后来发现这个工作量是很大的, 所以网上搜了下,没找出Text
-
详解Java的MyBatis框架中SQL语句映射部分的编写
1.resultMap SQL 映射XML 文件是所有sql语句放置的地方.需要定义一个workspace,一般定义为对应的接口类的路径.写好SQL语句映射文件后,需要在MyBAtis配置文件mappers标签中引用,例如: <mappers> <mapper resource="com/liming/manager/data/mappers/UserMapper.xml" /> <mapper resource="com/liming/mana
-
mybatis教程之增删改查_动力节点Java学院整理
select 一个select 元素非常简单.例如: <!-- 查询学生,根据id --> <select id="getStudent" parameterType="String" resultMap="studentResultMap"> SELECT ST.STUDENT_ID, ST.STUDENT_NAME, ST.STUDENT_SEX, ST.STUDENT_BIRTHDAY, ST.CLASS_ID FR
-
Spring Boot整合Mybatis并完成CRUD操作的实现示例
MyBatis 是一款优秀的持久层框架,被各大互联网公司使用,本文使用Spring Boot整合Mybatis,并完成CRUD操作. 为什么要使用Mybatis?我们需要掌握Mybatis吗? 说的官方一点: MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordina
-
Mybatis配置之<typeAliases>别名配置元素解析
在前面的文章<Mybatis配置之<properties>属性配置元素详述>,我们讲述了<properties>标签元素的配置和使用方法. 在这篇文章中,我们来说说<typeAliases>标签元素,这个元素主要是用于对类型进行别名控制,具体什么意思呢?我们下面用一个示例说明,看了之后我相信你就会明白了. 这里我们贴出之前的UserDao对应的mapper文件 如下所示: <?xml version="1.0" encoding=&
-
Java经典面试题汇总:Mybatis
目录 1. MyBatis 中 #{}和 ${}的区别是什么? 2. MyBatis 有几种分页方式? 3. MyBatis 逻辑分页和物理分页的区别是什么? 4. MyBatis 是否支持延迟加载?延迟加载的原理是什么? 5. 说一下 MyBatis 的一级缓存和二级缓存? 6. MyBatis 有哪些执行器(Executor)? 7. MyBatis 分页插件的实现原理是什么? 8. MyBatis如何返回主键? 9. Xml映射文件中,除了常见的select|insert|update|d
-
MyBatis insert语句返回主键和selectKey标签方式
目录 insert语句返回主键和selectKey标签 1.主键自增的情况 2.Oracle中用Sequence获取主键 MyBatis insert语句key的生成和返回 1.使用数据库自带的生成器 2.使用selectKey insert语句返回主键和selectKey标签 往数据库中插入一条记录后,有时候我们需要这条记录的主键,用于后续的操作. 如果在插入后再去查一次数据库,显然不够优雅和效率,MyBatis中已经有了insert后返回主键的功能,下面就主要讲几种不同情况的具体做法. 1.
随机推荐
- 网页整体变灰白色(兼容各浏览器)实例
- 基于PHP实现等比压缩图片大小
- 简单的手工hibernate程序示例
- 超炫酷的WPF实现Loading控件效果
- C# .NET中Socket简单实用框架的使用教程
- c++中引用和指针的区别和联系
- JS实现商品倒计时实现代码
- asp下Response.Buffer提速
- jquery仿搜索自动联想功能代码
- svg动画之动态描边效果
- javascript设置文本框光标的方法实例小结
- C# 7.0 新特性1之基于Tuple的“多”返回值方法
- 关于FTP连接超时的解决办法
- android ListView和ProgressBar(进度条控件)的使用方法
- AjaxControlToolKit 显示浏览者本地语言的方法
- SpringMVC拦截器实现登录认证
- 利用python实现简单的邮件发送客户端示例
- 详解python函数传参是传值还是传引用
- Mysql Workbench查询mysql数据库方法
- Python使用sqlalchemy模块连接数据库操作示例