hao947 : Mybatis resultMap配置插入和主键自增返回 : 好947
映射配置文件 好947
<!-- type:映射实体类的数据类型 id:resultMap的唯一标识 -->
<resultMap type="person" id="BaseResultMap">
<!-- column:库表的字段名 property:实体类里的属性名 -->
<id column="person_id" property="personId" />
<result column="name" property="name" />
<result column="gender" property="gender" />
<result column="person_addr" property="personAddr" />
<result column="birthday" property="birthday" />
</resultMap>
映射配置查询语句 好947
<insert id="insert" parameterType="com.hao947.model.Person">
<!--
keyProperty:实体类中的id属性名,当返回主键的时候就是返回给keyProperty
order:生成主键和运行insert语句的顺序,在mysql是AFTER,在oracle中使用BEFORE
resultType:主键返回的数据类型,和实体类中的主键的类型一致
select LAST_INSERT_ID():mysql中生成主键的sql,oracle中select xxxx.nextval from dual
-->
<selectKey keyProperty="personId" order="AFTER" resultType="java.lang.Integer">
select last_insert_id();
</selectKey>
insert into person (person_id, name, gender, person_addr, birthday)
values(#{personId}, #{name}, #{gender}, #{personAddr}, #{birthday})
</insert>
映射管理库表文件 hao947
<!-- 集中管理库表的映射文件 -->
<mappers>
<mapper resource="com/hao947/sql/mapper/PersonMapper.xml" />
</mappers>
測试文件 hao947
@Test
public void insert() {
SqlSession session = sqlSessionFactory.openSession();
try {
Person p = new Person();
// p.setPersonId(3);
p.setName("架构师");
p.setGender(1);
p.setPersonAddr("北京");
p.setBirthday(new SimpleDateFormat("yyyy-MM-dd").parse("1985-03-14"));
session.insert("com.hao947.sql.mapper.PersonMapper.insert", p);
//运行完库表变更必需要提交事务
session.commit();
} catch (ParseException e) {
session.rollback();
e.printStackTrace();
} finally{
session.close();
}
}
大站喜欢採集:那就都採集吧! 好947:出品
hao947 : Mybatis resultMap配置插入和主键自增返回 : 好947的更多相关文章
- mybatis获取批量插入的主键自增id
一.写一个实体类 public class UserInfo { private long userId; private String userAccount; private String use ...
- mybatis 注解方式插入,主键由uuid函数生成
@SelectKey(keyProperty = "record.id", resultType = String.class, before = true, statement ...
- oracle批量插入带主键自增
https://blog.csdn.net/qq_37630354/article/details/82792288
- MyBatis+MySQL 返回插入的主键ID
需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值. 方法:在mapper中指定keyProperty属性,示例如下: <insert id="i ...
- jdbc、Mybatis插入数据主键回显的实现方法
插入数据的时候,往往需要获取主键值.但是有时候主键是自增长的那么,就不太适用手动添加主键值了,此时需要一种可以回显主键参数的方法, 下面以jdbc.mybatis的实现举例 此时使用的是jdbc的话或 ...
- (转)MyBatis+MySQL 返回插入的主键ID
MyBatis+MySQL 返回插入的主键ID 需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值. 方法:在mapper中指定keyProperty属性,示例如 ...
- Mybatis 返回插入的主键
业务中,会遇到这样的问题,就是感觉返回的主键,插入作为其他表的外键. 那么问题来了,如何去实现,其实方法比较简单,这里就是重点记录下,会出现的误区. 用自动生成sql工具的话,加上下面这句话 < ...
- MyBatis返回插入的主键ID(Mysql数据库)
1.Java代码: 1.1 entity类: User.java public class User { private int userId; private String userName; pr ...
- mybatis+mysql返回插入的主键,参数只是提供部分参数
mybatis+mysql返回插入的主键,参数只是提供部分参数 <insert id="insertByChannelIdOpenid" useGeneratedKeys=& ...
随机推荐
- BZOJ 4177: Mike的农场( 最小割 )
显然是最小割... 对于规律(i, j, k) i,j 互相连边, 容量为k 对于规则(S, a, b) 新建一个点x, x与S中每个点连一条弧, 容量+∞, 然后再根据a决定x与源点或汇点连边. 跑 ...
- 利用ant的javac任务来编译java程序
<?xml version="1.0" encoding="UTF-8"?> <project name="javaTest&quo ...
- 【转】centOS上安装redis+phpredis2.2.4扩展
原文链接:http://www.cnblogs.com/xsi640/p/3756130.html 我原来的安装方式:http://www.cnblogs.com/wuling129/p/464738 ...
- Jsp分页实例---真分页
网页的分页功能的实现比较简单,实现方法也多种多样. 今天总结一个简单的Jsp真分页实例. 首先,提到分页就要先明确一个概念,何为真分页何谓假分页. 假分页:一次性从数据库读出表的所有数据一次性的返回给 ...
- runnable与handler结合使用,其实跟在Thread中的run()中sleep的效果是一样的
这是一种可以创建多线程消息的函数使用方法:1,首先创建一个Handler对象Handler handler=new Handler();2,然后创建一个Runnable对象Runnable runna ...
- android开发中防止刚进入activity时edittext获取焦点,自动弹出软键盘
刚进入activity的时候,如果布局组件有edittext的话,往往edittext会获取焦点,自动弹出软键盘,影响整个界面的视觉效果.解决方法如下: 可以在edittext的父布局结构中(例如 ...
- Mysql事务,并发问题,锁机制-- 幻读、不可重复读(转)
1.什么是事务 事务是一条或多条数据库操作语句的组合,具备ACID,4个特点. 原子性:要不全部成功,要不全部撤销 隔离性:事务之间相互独立,互不干扰 一致性:数据库正确地改变状态后,数据库的一致性约 ...
- WPF中控件ListView和DataGrid典型属性介绍
ListView GridView View视图 重要属性: public bool AllowsColumnReorder 获取或设置一个值,该值指示 System.Windows.Controls ...
- cocos2d-x3.2中加入Android手机震动
本人宣布从此博文发出后,我的cocos2dx的引擎从cocos2dx3.1.1跳到cocos2dx3.2,哈哈,事实上变化不大的,不碍事~~~ 以下来说说在cocos中加入Android手机震动的功能 ...
- 在VS中实现webService的一个demo(图解)
在VS中实现webService的一个demo(图解) 先创建一个web项目,创建好web项目后,添加新建项——web服务 在新建好的web服务文件中写如下代码: 生成当前解决方案. 新建一个winf ...