因为自己一直没有接触过,所以自己还有很多的知识需要学习。今天了解了ibatis的两个重要的配置文件,例如SqlMapConfig.xml.其中的Settings节点是对ibatis的一些设置,比如maxRequest\masSessiond等。TransactionManager节点定义了ibatis的事务管理器。一个简单的SqlMapConfig.xml文件如下。
<sqlMapConfig>
<properties resource="jdbc.properties" />
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="${jdbc.driverClassName}" />
<property name="JDBC.ConnectionURL" value="${jdbc.url}" />
<property name="JDBC.Username" value="${jdbc.username}" />
<property name="JDBC.Password" value="${jdbc.password}" />
</dataSource>
</transactionManager>
<sqlMap resource="com/ibatis/model/User.xml" />
</sqlMapConfig>
通过对ibatis的初步了解,根据网上的一些例子程序自己成功的用ibatis连接mysql数据库,使用单元测试列出的数据库表中的数据。结构如图
SqlMapClient是ibatis的核心组件,提供数据操作的基础平台。
String config = "com/ibatis/util/SqlMapConfig.xml";
Reader reader = Resources.getResourceAsReader(config);
sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
在成功的现实出数据库表的数据后,我又在网上查到一些Struts2 Spring ibatis三个框架整合的一些入门程序,在学习的过程中,又学习了一些Struts2和Spring的知识,
在配置spring-transaction.xml文件时,又上网查询了一些aop的知识。明天争取将框架整合,实现增删该查功能。以下是ibatis实现数据列表的部分代码
dao层接口编写
public interface IUserDao {
public List<User> QueryUserList()throws SQLException;
public User QueryUserById(int id)throws SQLException;
}
User.xml
<sqlMap>
<typeAlias alias="User" type="com.ibatis.model.User" />
<select id="QueryUserList" resultClass="User">
select * from user
</select>
<select id="QueryUserById" resultClass="User" parameterClass="int">
select * from user where userId=#value#
</select>
</sqlMap>
Dao接口的实现
static{
try {
String config = “com/ibatis/util/SqlMapConfig.xml”;
Reader reader = Resources.getResourceAsReader(config);
sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
} catch (IOException e) {
e.printStackTrace();
}
}
public List QueryUserList() throws SQLException {
return sqlMap.queryForList(“QueryUserList”);
}
public User QueryUserById(int id) throws SQLException {
return (User) sqlMap.queryForObject(“QueryUserById”, id);
}