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=& ...
随机推荐
- Android进程内存上限
Android应用程序都是在自己单独的进程中运行.Android为不同类型的进程分配了不同的内存使用上限,如果应用进程使用的内存超过了这个上限,则会抛出Out Of Memory异常,接着进程也被ki ...
- Lua学习笔记6:C++和Lua的相互调用
曾经一直用C++写代码.话说近期刚换工作.项目组中的是cocos2dx-lua,各种被虐的非常慘啊有木有. 新建cocos2dx-lua项目.打开class能够发现,事实上就是C++项 ...
- HFS - 简单的将个人电脑变服务器!
网络硬盘 HTTP File Server(HFS)是我目前所知道的最简便的P2P文件分享方式,只一个大小为559KB的单文件绿色软件(hfs.exe)就可以在瞬间不经过任何系统设置将一台普通的联 ...
- Android 修改屏幕解锁方式
Android 修改屏幕解锁方式 问题 在手机第一次开机的时候,运行手机激活的APP 在激活APP允许过程中,当用户按电源键的时候,屏幕黑掉,进入锁屏状态 手机默认的锁屏是滑动解锁 用户这个时候再一次 ...
- LifecyclePhaseNotFoundException(转)
This error is generated if you try to invoke a build command that Maven does not understand. In gene ...
- [Boost]boost的时间和日期处理-(2)时间的操作
<开篇> 本篇紧接着boost上篇叙述Boost::DateTime的时间处理.在C++中,常见的时间有time_t, FILETIME和tm,而boost中用ptime. 构造ptime ...
- VPN指定某个程序,其实是改路由表(赛风支持VPN和SSH和SSH+模式)
其实就是使用IE代理的意思,方法有很多.最简单的就是读取注册表中的代理信息.具体找;\Software\Microsoft\Windows\CurrentVersion\Internet Settin ...
- Jackson ObjectMapper类
ObjectMapper类是Jackson库的主要类.它提供一些功能将转换成Java对象匹配JSON结构,反之亦然.它使用JsonParser和JsonGenerator的实例实现JSON实际的读/写 ...
- 分布式消息系统jafka快速起步(转)
Jafka 是一个开源的/性能良好的分布式消息系统.在上一篇文章中有所简单介绍.下面是一篇简单的入门文档.更多详细的文档参考wiki. Step 1: 下载最新的安装包 完整的安装指南在这里.最新的发 ...
- Get started - UIkit documentation
Get started - UIkit documentation Get started Get familiar with the basic setup and structure of UIk ...