首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

MyBatis 批量操作、增添日志显示、MyBatis与iBatis区别

2013-01-20 
MyBatis 批量操作、添加日志显示、MyBatis与iBatis区别?!-- 设备的批量删除 --delete iddeleteEquipmen

MyBatis 批量操作、添加日志显示、MyBatis与iBatis区别

?

<!-- 设备的批量删除 --><delete id="deleteEquipmentList" parameterType="java.lang.Integer" > delete from dbo.teg_equipment where id in <foreach item="idItem" index="index" collection="list" open="(" separator="," close=")"> #{idItem} </foreach> </delete>

?

/** * @descrption 批量删除 * @author xdwang * @create 2012-11-21下午2:32:52 * @param ids 需要删除的id集合 */void deleteEquipmentList(List<Integer> ids);?

?

<update id="delByUpdateEquipmentList">update dbo.teg_equipment <set > isdeleted = 1 </set> where id in <foreach item="idItem" index="index" collection="list" open="(" separator="," close=")"> #{idItem} </foreach> </update>

?

<insert id="addBatchStudent" useGeneratedKeys="true" parameterType="java.util.List"><selectKey resultType="long" keyProperty="id" order="AFTER">SELECTLAST_INSERT_ID()</selectKey>insert into tbl_student (name,birth,birth) values<foreach collection="list" item="item" index="index" separator="," >(#{item.name},#{item.birth},#{item.birth})</foreach></insert>

?

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"><log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"><appender name="console" value="System.out" /><layout value="%d{MMM dd yyyy HH:mm:ss,SSS} %-5p %c - %m%n" /></layout></appender><category name="net.carefx" additivity="false"><priority value="DEBUG" /><appender-ref ref="console" /></category><category name="org.springframework" additivity="false"><priority value="DEBUG" /><appender-ref ref="console" /></category><category name="org.springframework.orm.ibatis3" additivity="false"><priority value="DEBUG" /><appender-ref ref="console" /></category><category name="org.apache.ibatis" additivity="false"><priority value="DEBUG" /><appender-ref ref="console" /></category><category name="java.sql" additivity="false"><priority value="DEBUG" /><appender-ref ref="console" /></category><logger name="org.apache.ibatis.common.jdbc.SimpleDataSource"><level value="DEBUG" /></logger><logger name="org.apache.ibatis.common.jdbc.SimpleDataSource"><level value="DEBUG" /></logger><logger name="org.apache.ibatis.common.jdbc.ScriptRunner"><level value="DEBUG" /></logger><logger name="org.apache.ibatis.common.jdbc.SqlMapClientDelegate"><level value="DEBUG" /></logger><logger name="java.sql.Connection"><level value="DEBUG" /></logger><logger name="java.sql.Statement"><level value="DEBUG" /></logger><logger name="java.sql.PreparedStatement"><level value="DEBUG" /></logger><logger name="java.sql.ResultSet"><level value="DEBUG" /></logger><root><priority value="DEBUG" /><appender-ref ref="console" /></root></log4j:configuration>

?

· 你执行了一个单独的SQL语句来获取结果列表(就是+1)。

· 对返回的每条记录,你执行了一个查询语句来为每个加载细节(就是N)。

而在Mybatis中,除了兼容ibatis2.x中的“嵌套查询”方式外,还提供了直接“嵌套结果”的方式,其效果相当于直接通过一句sql将查询出的dto对象自动封装成所需的对象。不过实际上这一改进所带来的好处也是很有限的。因为这一方式在使用分页的时候并不起作用,或者说嵌套对象的结果集是不允许进行分页的。这一点在Mybatis框架中已经做出了明确的限制

·熟悉struts2的人应该对OGNL表达式不会感到陌生,MyBatis采用OGNL表达式简化了配置文件的复杂性,使用起来更简洁。

?

?

?

?

热点排行