<insert id="insert" parameterType="cc.mrbird.febs.energy.domain.ChatGroup"> <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long"> select LAST_INSERT_ID() </selectKey> ins…
1.根据useGeneratedKeys获取返回值,部分数据库不支持 修改mybatis xml <insert id="insertUser" useGeneratedKeys="true" keyProperty="id" parameterType="com.entity.user"> insert into test (name) values (#{name}) </insert> useGe…
mysql设置了自增长主键ID,插入失败的那个自增长ID也加一的,比如失败5个,下一个成功的不是在原来最后成功数据加1,而是直接变成加6了,失败次数一次就自动增长1了,能不能让失败的不增长的? 或者说mysql插入数据失败,怎么能防止主键增长? MYSQL不保证AUTO_INCREMENT依次增长(1,2,3,4,5),但是可以保证正向增长(1,3,5,9)所以,当你某次操作失败后,下次AUTO_INCREMENT就不是顺序的了. innodb的自增是缓存在内存字典中的,分配方式是先预留,然后再…
这是我JDBC的第一篇 http://blog.csdn.net/hon_3y/article/details/53535798 1.PreparedStatement对象 PreparedStatement对象继承Statement对象,它比Statement对象更强大,使用起来更简单 Statement对象编译SQL语句时,如果SQL语句有变量,就需要使用分隔符来隔开,如果变量非常多,就会使SQL变得非常复杂.PreparedStatement可以使用占位符,简化sql的编写 Stateme…
1.PreparedStatement对象 PreparedStatement对象继承Statement对象,它比Statement对象更强大,使用起来更简单 Statement对象编译SQL语句时,如果SQL语句有变量,就需要使用分隔符来隔开,如果变量非常多,就会使SQL变得非常复杂.PreparedStatement可以使用占位符,简化sql的编写 Statement会频繁编译SQL.PreparedStatement可对SQL进行预编译,提高效率,预编译的SQL存储在PreparedSta…
SQL语句获取数据库中的表主键,自增列,所有列   获取表主键 1:SELECT TABLE_NAME,COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGEWHERE TABLE_NAME<>'dtproperties' 2:EXEC sp_pkeys @table_name='表名' 3: select o.name as 表名,c.name as 字段名,k.colid as 字段序号,k.keyno as 索引顺序,t.name as…
1.根据useGeneratedKeys获取返回值,部分数据库不支持 修改mybatis xml 1 2 3 <insert id="insertUser" useGeneratedKeys="true" keyProperty="id" parameterType="com.entity.user">     insert into test (name) values (#{name})  </inser…
Mysql: 主键自增长. 加上:keyProperty="id"就可以获得了. <insert id="insert" parameterType="entity" keyProperty="id" useGeneratedKeys="true"> insert into <include refid="t_user"/> (name, code, versio…
分享一篇博客,主要就是针对在我们使用SSM的时候,在.xml中获取<insert></insert> 时的自增主键Id,由于好久没有,这个时候使用,有点生疏,就在这里写个笔记,以免出现类似的情况... 我记得刚开始学mybatis时,做个学生课程的CRUD时,在获取添加时主键ID时,使用的是 ,查一下表中的max(id) ,呵呵,当后来学到了分布式,考虑到并发量的时候,我一下子蒙了,于是就研究了一下子,主要的时我们要熟能生巧... 一般这种情况处理有两种方法(在.xml中配置):…
在mysql中插入数据的时候常常因为主键存在而冲突报错,下面有两个解决方法: 1.在insert 语句中添加ignore 关键字,如:insert ignore into table (id,name) values ('1','username');这是如果id主键已经存在的时候,就会忽略现在数据而保留原来的数据不变: 2.插入的时候用REPLACE INTO语句,如 REPLACE INTO table(id,name) values ('1','username');这个方法是如果id主键…