Mybitis使用过程中常见问题整理笔记
2017-06-09 00:00
841 查看
1.关于<foreach/>批量处理
2.针对插入并返回当前数据的ID:
3.针对特殊字符的转义
4.$与#的区别
1.单参数List的类型: <select id="foreachTest" resultType="upperCaseKeyMap"> select * from testTable where id in <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> #{item} </foreach> </select> 2.单参数array数组的类型: <select id="foreachTest2" resultType="upperCaseKeyMap"> select * from testTable where id in <foreach collection="array" index="index" item="item" open="(" separator="," close=")"> #{item} </foreach> </select> 例如:针对oracle的批量添加: <insert id="addTestTableInfo" parameterType="list"> INSERT INTO testTable (num_id,count) SELECT SEQ_TESTTABLE_ID.NEXTVAL, A.* FROM( <foreach collection="testTableInfo" item="item" index="index" separator="union all"> SELECT #{item.count} FROM dual </foreach> ) A </insert>
2.针对插入并返回当前数据的ID:
//在insert最后加上下面的就可以返回ID <selectKey resultType="java.lang.String" keyProperty="NUM_ID"> select SEQ_T_TEST_TABLE.Currval as NUM_ID from dual </selectKey>
3.针对特殊字符的转义
1、特殊字符 xml 中表示: <= 小于等于、 >= 大于等于 使用的时需加上这样的标记:<![CDATA[ ]]> 2、一些特殊字符也可用下面的替代符号所代替。 特殊字符 替代符号 & & < < > > " " ' '
4.$与#的区别
select * from T_PRINT_LAYOUT where D_RECID = ${recId} 最后生成的SQL为: select * from T_PRINT_LAYOUT where D_RECID = 1 即:直接将参数值替换到了原来${recId}的位置,相当于硬拼SQL select * from T_PRINT_LAYOUT where D_RECID = #{recid,jdbcType=DECIMAL} 最后生成的SQL为:select * from T_PRINT_LAYOUT where D_RECID = ? 即:#{...}被识别为一个SQL参数 注:使用#,不写jdbcType,为空时,会报错,写了则不会。 场景(标配oracle): 1.like 使用: like '%'||#{NAME}||'%'
相关文章推荐
- idea使用过程中的一些常见问题,做个笔记
- freePBX使用及安装过程中的常见问题
- [项目过程中所遇到的各种问题记录]编辑器篇——FCKeditor相关知识及各种常见使用问题
- ubuntu11.04使用过程中出现的小问题笔记
- ADSL宽带使用过程中常见的一些问题
- ActiveMQ使用笔记(八)使用过程中出现的问题
- Unity3d使用过程中常见的20个问题
- 韩顺平_PHP程序员玩转算法公开课(第一季)05_使用单链表解决约瑟夫问题_学习笔记_源代码图解_PPT文档整理
- Unity3D使用过程中常见的20个问题
- Unity3D使用过程中常见的20个问题
- Unity3D使用过程中常见的20个问题
- Ajax使用过程中常见问题汇总
- Birt学习笔记——birt开发过程中常见的问题
- CentOS使用过程常见问题[持续更新]
- Unity3d使用过程中常见的20个问题
- [项目过程中所遇到的各种问题记录]编辑器篇——FCKeditor相关知识及各种常见使用问题
- 我的嵌入式学习笔记(2)--scanf使用常见问题及解决方法
- 常见问题及解决办法 整理之5(一些有用的系统存储过程及用法)
- VS2008使用过程中问题汇总(不断整理中...)
- 我的嵌入式学习笔记(2)--scanf使用常见问题及解决方法