IBatis
文章平均质量分 82
iteye_21015
这个作者很懒,什么都没留下…
展开
-
ibatis # $区别
1、#可以进行预编译,进行类型匹配,#变量名# 会转化为 jdbc 的 ? $不进行数据类型匹配,$变量名$就直接把 $name$替换为 name的内容 例如: select * from tablename where id = #id# ,其中如果字段id为字符型,那么#id#表示的就是'id'类型,如果id为整型,那么#id#就是id类型 会转化为jdbc的 s...原创 2011-05-22 11:55:03 · 95 阅读 · 0 评论 -
ibatis 之 复杂类型集合的属性
Result Map还可以装入代表复杂类型对象集合(List)的属性,用以表示在数据库中相互关系为多对多或一对多的数据。拥有集合属性的类作为“一”的一方,而在集合中的对象作为“多”的一方。用来装入对象集合的mapped statement和上面例子一样。唯一的不同是,让SQL Map架构装入复杂类型集合(List)的业务对象的属性必须是java.util.List或java.util.Collec...原创 2011-06-12 12:10:14 · 79 阅读 · 0 评论 -
ibatis 之 动态SQL查询(dynamic )
映射文件: <select id="getProductDynamic2" resultMap="get-product-result" parameterClass="product"> <![CDATA[ select * from t_product ]]> <dynamic prepend="WHERE"原创 2011-06-12 12:13:31 · 137 阅读 · 0 评论 -
ibatis 注意点
insert,update,delete 返回值 insert 返回的为插入的主键值,但必须在配置文件中加入 <selectKey/> iBATIS三种自动生成主键的方式 <!-- Oracle SEQUENCE Example using .NET 1.1 System.Data.OracleClient --> < insert ...原创 2011-08-08 19:28:45 · 113 阅读 · 0 评论 -
iBATIS缓存
为了提高应用程序性能,一种比较通用的方法是使用缓存技术来减少与数据库之间的交互。缓存技术是一种“以空间换时间”的设计理念,利用内存空间资源来提高数据检索速度的有效手段之一。 iBATIS以一种简单、易用、灵活的方式实现了数据缓存。下面,首先看一下iBATIS关于缓存部分的核心类图: 关于这些类的用途,在注释中做了比较概括性的说明,下面就来仔细的讲一下...原创 2011-12-12 21:33:03 · 80 阅读 · 0 评论 -
一个Spring+iBatis框架进行batch处理的问题
在使用org.springframework.jdbc.datasource.DriverManagerDataSource创建数据源时,你会发现sqlMapClientTemplate.getDataSource().getConnection().getAutoCommit()的值是true,意思是说你的事物会自动提交,如果当你和iBATIS结合使用时,那么iBATIS的BATCH是会...原创 2011-09-05 23:23:59 · 147 阅读 · 0 评论 -
iBatis批处理(batch)
spring集成了ibatis的批量提交的功能,我们只要调用API就可以了 首先在你的dao中需要继承org.springframework.orm.ibatis.support.SqlMapClientDaoSupport 然后在代码中调用getSqlMapClientTemplate方法, 覆写SqlMapClientCallback类中的doInSqlMapClient的方法 ...原创 2011-09-05 23:47:57 · 156 阅读 · 0 评论 -
iBatis大数据量分页查询的性能问题分析及改进
感谢 http://www.iteye.com/topic/544765;http://www.iteye.com/topic/566605首先看一下iBatis的分页代码是怎么执行的iBatis中,具体负责执行sql的类是 com.ibatis.sqlmap.engine.execution.SqlExecutor。负责分页查询的方法是executeQuery —>handle...原创 2011-04-21 22:36:20 · 780 阅读 · 0 评论 -
深入分析 iBATIS 框架之系统架构与映射原理
原文:http://www.ibm.com/developerworks/cn/java/j-lo-ibatis-principle/ iBATIS 通过 SQL Map 将 Java 对象映射成 SQL 语句和将结果集再转化成 Java 对象,与其他 ORM 框架相比(iBATIS严格来说还不是真正的ORM),既解决了 Java 对象与输入参数和结果集的映射,又能够让用户方便的手写使用...原创 2011-05-07 12:48:29 · 118 阅读 · 0 评论 -
iBATIS 三个版本小细节对比
iBATIS 三个版本小细节对比sqlMapConfig.xml 中的异同: iBATIS_v1iBATIS_v2iBATIS_v3DOCTYPEsql-map-config.dtdsql-map-config-2.dtdibatis-3-config.dtdconfiguration标签<sql-map-conf...原创 2011-05-08 16:12:36 · 92 阅读 · 0 评论 -
ibatis 之 复杂类型属性(即自定义类型的属性)
复杂类型用以表示在数据库中相互关系为一对一,一对多的数据。 映射文件:<!--complex type property that defined by user--> <resultMap id="get-product-complex" class="product"> <result property="id" column="prd_.原创 2011-06-12 11:54:38 · 116 阅读 · 0 评论 -
ibatis 之 java.util.Map作为parameterClass和resultClass
1.Map作为parameterClass 映射文件: <!--use Map type as parameterClass--> <select id="getProduct-Map" parameterClass="java.util.Map" resultMap="get-product-result"> <!...原创 2011-06-12 11:21:12 · 200 阅读 · 0 评论 -
ibatis resultclass "java.util.hashmap" 缓存问题
在做ibatis项目过程中遇到如下样式动态查询<select id="searchByKW" resultClass="java.util.HashMap" parameterClass="java.util.HashMap"> <![CDATA[ select * from $username$.$ta...原创 2011-05-22 12:13:54 · 396 阅读 · 0 评论 -
ibatis缓存
iBatis的缓存配置比较简单易懂,以我使用的iBatis2.3为例,做以下配置即可实现对某些查询进行缓存: 1、在sqlMap文件中加入cacheModel的配置: <!-- 定义该映射文件的Cache机制 --> <cacheModel id="model-cache" type="MEMORY" > <!-- 设定缓存存活的...原创 2011-05-22 12:52:10 · 102 阅读 · 0 评论 -
sqlMapConfig.xml配置文件详解
sqlMapConfig.xml配置文件详解: Xml代码 <? xml version="1.0" encoding="UTF-8" ?><! DOCTYPE sqlMapConfigPUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN""http://www.ibatis.com/dtd/sq...原创 2011-05-22 13:04:59 · 594 阅读 · 0 评论 -
ibatis 动态映射机制
对于这个组合查询页面,根据用户选择填写的内容,我们应为其生成不同的查询语句。如用户没有填写任何信息即提交查询请求,我们应该返回所有记录:Select * from t_user;如用户只在页面上填写了姓名“Erica”,我们应该生成类似:Select * from t_user where name like ‘%Erica%’ ;的SQL查询语句。如用户只在页面上填写了地址“Beijing”...原创 2011-05-22 14:15:42 · 101 阅读 · 0 评论 -
ibatis 表与表的关联查询
ibatis高级特性,处理表与表之间的关联。ibatis中,提供了Statement嵌套支持,通过Statement嵌套,我们可以实现关联数据的操作。 用表lock和key为例,一个lock可以配多个key,一个key只能对应一个lock.1、数据库表 create table lock( id int, lockName varchar ); ...原创 2011-05-22 15:04:44 · 136 阅读 · 0 评论 -
iBatis查询select详解
转载:http://sarin.iteye.com/blog/731655 <select>是iBatis已经映射的语句类型,就是查询了,为了配合说明,这里再介绍两个标记:<sql>和<include>,前者用来创建一个文本片段,这些片段可以组合起来创建完整的SQL语句;后者很显然就是包含的意思了。 假设我们有如下代码段:...原创 2011-05-29 12:20:44 · 110 阅读 · 0 评论 -
iBatis查询API
转载:http://sarin.iteye.com/blog/726029 iBatis并不是真正意义上的ORM,官方文档中称其为dataMapper,是数据映射器,也就是一种映射查询工具。iBatis不是万能的,在某些它不能处理的问题时,不能放弃使用JDBC API,那才是根本中的根本。 在iBatis中,建议使用JavaBean,因为我们是面向对象的设计,那么在系统设计时...原创 2011-05-29 12:34:28 · 90 阅读 · 0 评论 -
ibatis Tips之parameterMap
转载:http://xulongfa.iteye.com/blog/423576 parameterMap属性parameterMap的值等于一个预先定义的<parameterMap>元素的名称。parameterMap属性很少使用,更多的是使用上面的parameterClass和inline parameter(接下来会讨论)。注意!动态mapped statem...原创 2011-05-29 21:03:21 · 87 阅读 · 0 评论 -
ibatis Tips 之 resultMap
转载:http://xulongfa.iteye.com/blog/428674先看个具体的例子:Xml代码 <resultMap id=”get-product-result” class=”com.ibatis.example.Product”> <result property=”id” column=”PRD_ID...原创 2011-05-29 21:04:15 · 89 阅读 · 0 评论 -
iBATIS入门示例及注释
工程的结构: 一、SqlMapConfig.xml <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "h...原创 2011-05-08 18:20:01 · 568 阅读 · 0 评论