spring 中整合ibatis
1、概念表述
??? iBatis2是一个轻量级的数据持久化框架,它是一个半自动化的ORMapping工具,数据库的操作依赖程序员自己书写的SQL,因此可以最大限度发挥JDBC的性能。据测试,它的性能和JDBC是一个级别的,但代码比JDBC简单的多,据说相对JDBC节省了60%的代码量。
??? 缺点是映射不灵活,有时候感觉很别扭。当领域对象关系复杂的时候,关联基本上行不通。
?
2、需要ibatis*.jar
?
3、在spring容器中整合ibatis
<bean id="dataSource" /></property></bean> <bean id="transactionManager" name="code"><?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE sqlMapConfigPUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN""http://www.ibatis.com/dtd/sql-map-config-2.dtd"><sqlMapConfig><settingscacheModelsEnabled="true"enhancementEnabled="true"lazyLoadingEnabled="true"errorTracingEnabled="true"maxRequests="32"maxSessions="10"maxTransactions="5"useStatementNamespaces="false"/><sqlMap resource="com/test/bean/User.xml"/></sqlMapConfig>
?
说明:<settings>用于优化SqlMapClient实例的各选项。
?
5、User.xml
?
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"><sqlMap namespace="User"><typeAlias alias="user" type="com.test.bean.User"/><resultMap id="userResult" column="user_id" /><result property="loginName" column="user_login_name" /><result property="userName" column="user_name" /><result property="userPassword" column="user_password" /></resultMap><select id="getUserById" parameterresultMap="userResult"><![CDATA[select *from userwhere userId = #userId#]]></select></sqlMap>
?
?
说明:typeAlias 定义了本映射文件中的别名
???????? resultMap是结果集的映射
???????? <select> 为查询语句
?
?
?
?