mybatis的插入数据后的主键获取】的更多相关文章

为什么要在插入数据后获取主键:当有一个订单表和订单详情表,当插入订单表的数据后,需要在订单详情表插入该订单的具体购物情况,订单详情表需要的一个列是订单表的主键或者订单ID.(通俗讲:A表的主键是B表的外键,当向A表添加数据后需要在B表对A表做补充说明,B表的外键列就从A表的主键获取) 1.创建实体类com.entity.Dept(DeptId和DeptName)和com.dao.DeptDao(有方法Integer insert(Dept dept)),这里写的是Dept类,要用到反射的,和后面…
有时候使用mybatis插入数据后,需要用到记录在数据库中的自增id,可以利用keyProperty来返回,赋值给实体类中的指定字段. 单条记录插入并返回 First, if your database supports auto-generated key fields (e.g. MySQL and SQL Server), then you can simply set useGeneratedKeys="true" and set the keyProperty to the…
方法一: $info = DB::table('表名')->insertGetId(['imgName' => $fileName]);//图片名入库后返回添加数据行的主键ID 方法二:(适用于Mysql数据库) 执行原生SQL,然后返回新添加的主键ID值 语法:INSERT INTO 表名(字段1, 字段2, 字段3) VALUES (值1, 值2, 值3);SELECT @@IDENTITY AS returnName; #返回刚插入的数据的主键ID并起别名为 “returnName” 栗…
<selectKey keyProperty="id" resultType="java.lang.Long" order="AFTER" > SELECT LAST_INSERT_ID() </selectKey> 这段代码包含在<insert></insert>当中 <insert></insert> 中没有resultType属性,但是<selectKey>…
在使用MyBatis做持久层时,insert语句默认是不返回记录的主键值,而是返回插入的记录条数:显然,假如主键是你生成后插入的,自然你已经有主键了,显然不需要我们再去获得,所以我们这里处理的是当主键是数据库中主动生成的,例如主键是自增长的.如果业务层需要得到记录的主键(自增长)时,可以通过配置的方式来完成这个功能. oracle插入数据后获得主键 针对Sequence主键而言(oracle数据库像mysql或者sql server那样子有帮其实现自增长的声明,想要自增长需要使用sequence…
ibatis实战之插入数据(自动生成主键) --------- 如果你将数据库设计为使用自动生成的主键,就可以使用ibatis的<selectKey>元素(该元素是<insert>元素的一个专用子元素)来获取这些自动生成的主键的值并将其保存在对象中.完成这项工作可以有两种方式,具体选择何种方式由你所使用的具体的主键生成技术来确定. 第一种方式是,当你把记录插入到数据库中并且数据库为该记录自动生成了主键值之后,就立即抓取该键值.此时要注意的是,必须确保所使用的数据库驱动程序确实能返回…
xml里的写法 <insert id="insertLogin" parameterType="com.xyt.p2p.pojo.LoginInfo" keyColumn="userId" useGeneratedKeys="true" keyProperty="userId"> INSERT INTO LoginInfo (username,password,state,role) VALUE…
这是最近在实现perfect-ssm中的一个功能时碰到的一个小问题,觉得需要记录一下,向MySQL数据库中插入一条记录后,需要获取此条记录的id值,以生成对应的key值存入到redis中,id为自增int主键. 修改 原代码为: <insert id="insertArticle" parameterType="Article"> insert into ssm_article(article_title,article_create_date,arti…
引言:  在MyBatis中,希望在Oracle中插入数据之时,同一时候返回主键值,而非插入的条数... 环境:MyBatis 3.2 , Oracle. Spring 3.2   SQL Snippet in XML Configuration: <insert id="insertSelective" parameterType="com.jxxx.p2pp.model.UUserInfo"> <selectKey resultType=&qu…
在MyBatis中,希望在Oracle中插入数据的同时返回主键值,而非插入的条数. ① oracle使用 selectKey. U_USER_INFO_SEQ 是在数据库中定义好的这张表关联的序列sequence, Nextval是获取自增的id <insert id="insertSelective" parameterType="com.jxxx.p2pp.model.UUserInfo"> <selectKey resultType=&quo…