iBatis配置详解

来源:互联网 发布:平板软件市场hd 编辑:程序博客网 时间:2024/05/01 08:42

下面的配置是iBatis2.x

SqlMapConfig.xml:

<?xml version="1.0" encoding="UTF-8"?>   <!DOCTYPE sqlMapConfig    PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"    "http://www.ibatis.com/dtd/sql-map-config-2.dtd"><sqlMapConfig><settings cacheModelsEnabled="true" <!--是否启用缓存机制 -->         lazyLoadingEnabled="true" <!--是否启用延迟加载机制 -->         enhancementEnabled="true" <!--是否启用字节码增强机制 -->         errorTracingEnabled="true" <!--是否启用错误处理机制 -->         maxRequests="32" <!--最大并发请求数 -->         maxSessions="10" <!--最大Session数 -->         maxTransactions="5" <!--最大并发事务数 -->         useStatementNamespaces="true"/> <!--是否启用名称空间 --><transactionManager type="JDBC"> <!--定义了ibatis的事务管理器有3中(JDBC,JTA,EXTERNAL) --><dataSource type="SIMPLE"> <!--type属性指定了数据源的链接类型,也有3种类型(SIMPLE,DBCP,JNDI) --><property name="JDBC.Driver" value="oracle.jdbc.OracleDriver" /><property name="JDBC.ConnectionURL" value="jdbc:oracle:thin:@192.168.0.105:1521:orcl" /><property name="JDBC.Username" value="han" /><property name="JDBC.Password" value="hanzhou" /><property name="Pool.MaximumActiveConnections" value="10" /> <!--连接池维持的最大容量 --><property name="Pool.MaximumIdleConnections" value="5" /> <!--连接池允许挂起的最大连接 --><property name="Pool.MaximumCheckoutTime" value="120000" /> <!--连接被某个任务所允许占用的最大时间 --><property name="TimeToWait" value="500" /> <!--线程允许等待的最大时间 --></dataSource></transactionManager><sqlMap resource="org/han/emp.xml" /></sqlMapConfig>


emp.xml:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE sqlMapPUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN""http://ibatis.apache.org/dtd/sql-map-2.dtd"><sqlMap namespace="conn"><!--namespace是该sqlMap的命名空间,因为SQL Map映射文件可以有多个, 而对于SQL Map来说所有映射文件都是全局性的。这意味着在SQL Map中的标识只能是惟一的, 利用namespace和标识的全限定名就可以进行区别,前提是,配置文件中的useStatementNamespaces 属性必须设置为true。 --><!--- Showing all data of table --><typeAlias alias="emp" type="org.han.entity.Emp" /><!-- 别名 --><!-- sql语句 --><select id="getAll" resultClass="emp">select * from scott.emp</select></sqlMap>


Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);List<Emp> contacts = (List<Emp>) sqlMap.queryForList("conn.getAll", null);



原创粉丝点击