1.对于数据库设计DATE类型,如果我们要要求返回带时间的格式时间"yyyy-MM-dd HH:mm:ss" 那么我们的
<result column="TBSJ" property="tbsj" jdbcType="DATETIME" />
中"jdbcType"必须为"DATETIME",否则将返回"yyyy-MM-dd" 格式;
2.对于输入参数
<result column="TBR" property="tbr" jdbcType="VARCHAR" nullValue="" />
我们可以指定"nullValue",当数据库没有值时,可以使用的默认值,但是有时我们不愿意指定默认值,那么我们该怎么班呢?对于 jdbcType="DATE" 不会报错,但是他会返回null,如果引用的客户端没有进行处理,那么很可能报nullpoint的错误;
3.对于输入的"parameterClass",如果为空值,同样会弹出一些错误,解决的方法就是采用动态的参数设置
<dynamic>
<isNotEmpty property="tznr" close=",">
TZNR = #tznr:VARCHAR#
</isNotEmpty>
</dynamic>
才可以避免这个问题
4.当我们在 sqlMap的"resultMap"类型与代码里面的转换类型不一致时,他会部报任何错误,而是只有一个返回null的错误,有时很难查找这样的问题,所以,当你感到莫名其妙的时候,请一定回头看看你的类型是否匹配;
5.我们在数据库插入一条数据的时候,经常是需要返回插入这条数据的主键。但是数据库供应商之间生成主键的方式都不一样。
有些是预先生成(pre-generate)主键的,如Oracle和PostgreSQL;有些是事后生成(post-generate)主键的,如MySQL和SQL Server。但是不管是哪种方式,我们都可以用iBATIS的节点来获取语句所产生的主键。
例子如下:
<!-- Oracle SEQUENCE Example using .NET 1.1 System.Data.OracleClient -->
<insert id="insertProduct-ORACLE" parameterClass="product">
<selectKey resultClass="int" type="pre" keyProperty="id" >
SELECT STOCKIDSEQUENCE.NEXTVAL AS VALUE FROM DUAL
</selectKey>
insert into PRODUCT (PRD_ID,PRD_DESCRIPTION) values(#id#,#description#)
</insert>
<!-- Microsoft SQL Server IDENTITY Column Example -->
<insert id="insertProduct-MS-SQL" parameterClass="product">
insert into PRODUCT (PRD_DESCRIPTION)
values (#description#)
<selectKey resultClass="int" type="post" keyProperty="id" >
select @@IDENTITY as value
</selectKey>
</insert>
<!-- MySQL Example -->
<insert id="insertProduct-MYSQL" parameterClass="product">
insert into PRODUCT (PRD_DESCRIPTION)
values (#description#)
<selectKey resultClass="int" type="post" keyProperty="id" >
select LAST_INSERT_ID() as value
</selectKey>
</insert>
分享到:
相关推荐
iBATIS SQLMap
SqlMap的配置是iBatis中应用的核心。这部分任务占据了iBatis开发的70的工作量。Sql Map配置文件是iBatis配置的核心,从数据库连接到执行SQL时使用的sqlMap文件都是通过此文件中的配置提供给框架的,它通常命名为...
ibatis sqlMap dtd ibatis sqlMap dtdibatis sqlMap dtdibatis sqlMap dtdibatis sqlMap dtd
ibatis-sqlmap ibatis-sqlmap-2 ibatis-sqlmap-2.jar.zip
ibatis-sqlmap-2.3.0中sqlmap支持通配符
学会ibatis 中sqlMap配置
ibatis-sqlmap-2.jar 对数据库进行操作的jar包 很方便使用
iBatis_SqlMap的配置总结,非常有用。
根据表生成ibatis的sqlMap文件,字段很多的时候可以用,算是一个工具类,生成了select和insert的语句,用的jdbc
ibatis-sqlmap_2.3.4.jar 和 ibatis-sqlmap_2.jar 两个jar包的下载
ibatis_SqlMap的配置,SqlMap的配置是iBatis中应用的核心。这部分任务占据了iBatis开发的70%的工作量。
ibatis中SQL语句映射指导!
ibatis-common-2.jar ibatis-sqlmap-2.jar ibatis-dao-2.jar
eclipse工程,工程中所用到library在lib文件夹下,建表的语句在工程文件下person.sql
Source of ibatis-sqlmap version 2.3.4.726
ibatis相关的common,dao,sqlmap包
NULL 博文链接:https://wutao33543.iteye.com/blog/562551
缓存机制,事务处理,动态sql,SqlMap