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" parameterClass="Account">
insert into account (
ACC_ID,
ACC_FIRST_NAME,
ACC_LAST_NAME,
ACC_EMAIL)
values (
#id#, #firstName#, #lastName#, #emailAddress#
)
</insert>
<update id="updateAccount" parameterClass="Account">
update ACCOUNT set
ACC_FIRST_NAME = #firstName#,
ACC_LAST_NAME = #lastName#,
ACC_EMAIL = #emailAddress#
where
ACC_ID = #id#
</update>
<delete id="deleteAccountById" parameterClass="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();
}