
ibaits2.X 高级应用
文章平均质量分 78
babyck
这个作者很懒,什么都没留下…
展开
-
ibatis中动态SQL_insert
ibatis的动态SQL非常强大,记录一些细节的东西。1.正常的动态INSERT,即全部遍历一次,这种是通用的,如下: <insert id="addUser" parameterClass="com.mmblue.domain.User"> INSERT INTO USER ( <dynamic prepend=" "> <isNot...原创 2010-12-26 13:41:39 · 966 阅读 · 0 评论 -
ibatis中动态SQL_update
如何知道上一篇的动态INSERT的话,动态UPDATE就很简单了,直接上XML注意:如果<isNotEmpty>是写在一行的话,并且是第一个的话<isNotEmpty property="realName" prepend=","><![CDATA[ REALNAME = #realName# ]]></isNotEmpty>...原创 2010-12-26 13:45:42 · 441 阅读 · 0 评论 -
ibatis中动态SQL_delete
其实这个不是动态的,不过要写就把CRUD全写一边了,因为IBATIS很简单,就不放JAVA代码,直接上XML<delete id="delete_role_id" parameterClass="java.util.Map"> delete myivr_trole where ROLEID in <iterate open="(" close=")" conj...原创 2010-12-26 14:03:18 · 226 阅读 · 0 评论 -
ibatis中动态SQL_SELECT(代码复用)
SQL中最复杂的还是查询了,IBATIS的动态SELECT和<include/>配合起来的确很猛,比如ORACLE中分页:select * from ( select rownum rn, t.* from ( select * from myivr_trole -- 真正的SQL语句 ) t where rownum <...原创 2010-12-26 14:30:03 · 419 阅读 · 0 评论 -
ibatis中如何优化SQL
1. 杜绝SELECT *表连接时,绝不允许写select * ,否则按照编码错误Bug处理. 单表查询,一般情况下可以使用select *,但以下几种情况禁用: a、表中包含lob字段(BLOB、CLOB、LONG、LONG RAW等)。 b、表中包含长度较大的字段,如varchar2(1000)以上的字段, 但该SQL实际上并不需要取出...原创 2010-12-26 14:46:42 · 239 阅读 · 0 评论 -
ibatis中N+1问题
背景:User Role UserRole 3个表的关系我现在的需求:查找出所有用户,并且把他的角色也显示出来一个用户可以有多个角色,那么User: id,name, Role1.User ResultMap<!-- 注意groupBy属性 --><resultMap id="user-result-map" class="com.mmblue.entity...2010-12-26 15:03:25 · 114 阅读 · 0 评论 -
ibatis中调用存储过程
<!-- param_5 --><parameterMap id="queryChar_spcall_param" class="java.util.HashMap"> <parameter property="IBEGINTIME" javaType="java.lang.String" jdbcType="VARCHAR"2010-12-26 15:08:27 · 119 阅读 · 0 评论