iBATIS框架配置
1.写sqlMapConfig.xml 配置文件? 这个文件是iBATIS中的核心文件
文件头写
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE sqlMapConfig?????
??? PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"?????
??? "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
文件中必须两个标签<setting><sqlmapconfig>
settings?
cachemodelsenabled="true" 全局控制sqlmapclient的缓存?
enhancementenabled="true" 全局控制运行时字节码增强,优化javabean的属性性能?
lazyloadingenabled="true" 延迟加载?
errortracingenabled="true"?
maxrequests="32" 同时执行sql语句的最大线程数,通常大小是maxtransactions的10倍,并且总是大于???????????????? maxtransactions和 maxsessions的总和。减小这个值能够提高性能。?
maxsessions="10"?
maxtransactions="5"?
usestatementnamespaces="false"? 是否启动全局的sqlmap名字空间。如果启动则应用时,必须加上名字??????????????????????????????? 空间:queryforobject(sqlmap的名字空间.statementname)?
?/ sqlmapconfig?
如果没有配其他框架
<transactionManager type="JDBC" commitRequired="false">
??? <dataSource type="SIMPLE">
????? <property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/>
????? <property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost:3306/test"/>
????? <property name="JDBC.Username" value="root"/>
????? <property name="JDBC.Password" value="123456"/>
??? </dataSource>
? </transactionManager>properties resource=""在这里将项目(工程)的所有资源文件包含进来,将相对与src路径的资源????????????????????????? 文件的路径以及文件名包含进来
</sqlmapconfig>
?
2.写与数据库相对应的pojo类3.写映射文件,文件名最好与pojo类一样的.xml文件
?? 文件头
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE sqlMap?????
??? PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"?????
??? "http://ibatis.apache.org/dtd/sql-map-2.dtd">
改别名
<typeAlias alias="Account" type="com.mydomain.domain.Account"/>
写sql语句
<select id="selectAllAccounts" resultMap="AccountResult">
??? select * from ACCOUNT
? </select>
?<insert id="insertAccount" parameterparameterparameterClass="int">
??? delete from ACCOUNT where ACC_ID = #id#
? </delete>
4.写测试类
String resource ="com/mydomain/data/SqlMapConfig.xml";
Reader reader;
try {
?? reader = Resources.getResourceAsReader(resource);??? 必写
?? SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);? 必写
?? 查询
?? List list = sqlMap.queryForList("selectAllAccounts");
?? 新增
?? sqlMap.insert("insertAccount", account);
?? 修改
?? sqlMap.update("updateAccount", account);
?? 删除
?? sqlMap.delete("deleteAccountById", 2);???
} catch (Exception e) {
?// TODO Auto-generated catch block
?? e.printStackTrace();
??? ??? }