Mybatis3插入语句映射

引用:http://thoughtfly.iteye.com/blog/1487641

模版示例
Java代码   收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"   
  3. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">  
  4.   
  5. <mapper namespace="XXX">  
  6.   
  7.     <insert id="insert" parameterType="XXX  
  8.         flushCache="true" statementType="PREPARED" timeout="20000">  
  9.         insert into user (id,name,mark)  
  10.         values (#{id},#{name},#{mark})  
  11.     </insert>  
  12.   
  13. </mapper>  

 如果使用的是像Mysql一样的可自动递增主键的数据库,还可以更改成ID自动插入
Java代码   收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"   
  3. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">  
  4. <mapper namespace="XXX">  
  5.   
  6.     <insert id="insert" parameterType="XXX"  
  7.         useGeneratedKeys="true" keyProperty="id" flushCache="true" statementType="PREPARED"  timeout="20000">  
  8.         insert into user (name,mark)  
  9.         values (#{name},#{mark})  
  10.     </insert>  
  11.   
  12.       
  13. </mapper>  
 
如果没有自递增,也可以使用selectKey自定义一个自递增方法
Java代码   收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"   
  3. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">  
  4. <mapper namespace="XXX">  
  5.       
  6.     <insert id="insertAuthor" parameterType="domain.blog.Author">  
  7.         <selectKey keyProperty="id" resultType="int" order="BEFORE">  
  8.             select CAST(RANDOM()*1000000 as INTEGER) a from SYSIBM.SYSDUMMY1  
  9.         </selectKey>  
  10.         insert into Author  
  11.         (id, username, password, email,bio, favourite_section)  
  12.         values  
  13.         (#{id}, #{username}, #{password}, #{email}, #{bio},  
  14.         #{favouriteSection,jdbcType=VARCHAR}  
  15.         )  
  16.     </insert>  
  17.   
  18. </mapper>  
 
属性解释

  • id  在命名空间中唯一的标识符,可以被用来引用这条语句。 
  • parameterType  将会传入这条语句的参数类的完全限定名或别名。 
  • parameterMap  这是引用外部 parameterMap 的已经被废弃的方法。使用内联参数映射和 parameterType 属性。 ()
  • flushCache  将其设置为 true,不论语句什么时候被用,都会导致缓存被清空。默认值:false。 
  • timeout   这个设置驱动程序等待数据库返回请求结果,并抛出异常时间的最大等待值。默认不设置(驱动自行处理)。 
  • statementType  STATEMENT,PREPARED 或 CALLABLE 的一种。这会让 MyBatis使用选择使用 Statement,PreparedStatement 或 CallableStatement。默认值:PREPARED。 
  • useGeneratedKeys  (仅对 insert 有 用) 这 会告 诉 MyBatis 使用 JDBC 的getGeneratedKeys 方法来取出由数据(比如:像 MySQL 和 SQLServer 这样的数据库管理系统的自动递增字段)内部生成的主键。默认值:false。 
  • keyProperty  (仅对insert有用) 标记一个属性, MyBatis会通过getGeneratedKeys或者通过 insert 语句的selectKey 子元素设置它的值。默认:不设置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值