这是一个Spring + iBATIS整个的例中,本例子中使用了2种模式对Spring的iBATIS整合模式。
Spring iBATIS整合模式一
- /*
- * UserDAO.java
- *
- * Create Version: 4.2.0
- * Author: PangLei
- * Create Date: 2005-04-21
- *
- * Copyright (c) 2005 UTStarcom(China) Corporation. All Right Reserved.
- */
- package net.chinaideal.samples.ibatis.dao;
- import java.sql.SQLException;
- import net.chinaideal.samples.ibatis.model.User;
- import com.ibatis.sqlmap.client.SqlMapClient;
- /**
- * SpringiBatis - UserDAO.java
- * ----------------------------------------------
- * @version 0.1 2007-1-22
- * @author Panglei(bj02267)
- * ----------------------------------------------
- * 说明:
- * UserDAO 实现
- * 这个实现通过Spring维护iBatis的SqlMapClient,具体调用还是通过iBatis的API完成。
- * 这样实现的有点是在不使用Spring的时,由于使用的都是iBatis的API,所以可移植性较好。
- *
- */
- public class UserDAOImpl implements UserDAO {
- protected SqlMapClient sqlMapClient;
- public User getUserByUsername(String username) {
- try {
- return (User) this.sqlMapClient.queryForObject("getUserbyUsername", username);
- } catch (SQLException ex) {
- ex.printStackTrace();
- }
- return null;
- }
- public SqlMapClient getSqlMapClient() {
- return sqlMapClient;
- }
- public void setSqlMapClient(SqlMapClient sqlMapClient) {
- this.sqlMapClient = sqlMapClient;
- }
- }
Spring iBATIS整合模式二
- /*
- * UserDAOImpl2.java
- *
- * Create Version: 4.2.0
- * Author: PangLei
- * Create Date: 2005-04-21
- *
- * Copyright (c) 2005 UTStarcom(China) Corporation. All Right Reserved.
- */
- package net.chinaideal.samples.ibatis.dao;
- import net.chinaideal.samples.ibatis.model.User;
- import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
- /**
- * SpringiBatis - UserDAOImpl2.java
- * ----------------------------------------------
- * @version 0.1 2007-1-22
- * @author Panglei(bj02267)
- * ----------------------------------------------
- * 说明:
- * 模式2:UserDAOImpl2继承SqlMapClientDaoSupport类
- * SqlMapClientDaoSupport这个类为Spring的ibatis模版类
- * ibatis模版类提供很多模版方法,Spring提供了异常处理,使用比较方便。
- * 例如:
- * queryForObject(statename, args)等等。
- *
- * 但是这个方法用使用类Spring的SqlMapClientDaoSupport,所以需要Spring的支持简化了编码的过程,移植性不够。
- */
- public class UserDAOImpl2 extends SqlMapClientDaoSupport implements UserDAO {
- /* (non-Javadoc)
- * @see net.chinaideal.samples.ibatis.dao.UserDAO#getUserByUsername(java.lang.String)
- */
- public User getUserByUsername(String username) {
- return (User)getSqlMapClientTemplate().queryForObject("getUserbyUsername", username);
- }
- }
程序下载http://www.china-ideal.net/files/SpringiBatis.zip
Spring iBATIS整合的模式就向你介绍到这里,希望这个Spring iBATIS整合的模式对你有所帮助。
【编辑推荐】