iBATIS中添加DAO的配置淺析
iBATIS中添加DAO的配置是如何的呢,之前我們介紹iBATIS的基本配置,那么我們現(xiàn)在來說下添加DAO的操作,首先讓我們配置XML文件開始:
iBATIS中添加DAO的配置一.
添加配置文件dao.xml
- ﹤?xml version="1.0" encoding="UTF-8"?﹥
 - ﹤!DOCTYPE daoConfig PUBLIC "-//ibatis.apache.org//DTD DAO Configuration 2.0//EN" "http://ibatis.apache.org/dtd/dao-2.dtd"﹥
 - ﹤daoConfig﹥
 - ﹤context﹥
 - ﹤transactionManager type="SQLMAP"﹥
 - ﹤property name="SqlMapConfigResource"
 - value="yidishui/daoIbatisImpl/sql/SqlMapConfig.xml"/﹥
 - ﹤/transactionManager﹥
 - ﹤dao interface="yidishui.dao.PersonDao" implementation="yidishui.daoIbatisImpl.PersonDaoImpl2"/﹥
 - ﹤/context﹥
 - ﹤/daoConfig﹥
 
iBATIS中添加DAO的配置二.
添加DaoConfig類
- package yidishui;
 - import com.ibatis.dao.client.DaoManager;
 - import com.ibatis.dao.client.DaoManagerBuilder;
 - import com.ibatis.common.resources.Resources;
 - import java.io.Reader;
 - import java.util.Properties;
 - public class DaoConfig {
 - private static final String resource = "yidishui/dao.xml";
 - private static final DaoManager daoManager;
 - static {
 - daoManager = newDaoManager(null);
 - }
 - public static DaoManager getDaoManager() {
 - return daoManager;
 - }
 - public static DaoManager newDaoManager(Properties props) {
 - try {
 - Reader reader = Resources.getResourceAsReader(resource);
 - return DaoManagerBuilder.buildDaoManager(reader, props);
 - } catch (Exception e) {
 - throw new RuntimeException("Could not initialize DaoConfig. Cause: " + e, e);
 - }
 - }
 - }
 
iBATIS中添加DAO的配置三.
修改Dao實(shí)現(xiàn),添加類PersonDaoImpl2
- package yidishui.daoIbatisImpl;
 - import yidishui.dao.PersonDao;
 - import yidishui.domain.Person;
 - import java.util.List;
 - import java.sql.SQLException;
 - import com.ibatis.dao.client.template.SqlMapDaoTemplate;
 - import com.ibatis.dao.client.DaoManager;
 - public class PersonDaoImpl2 extends SqlMapDaoTemplate implements PersonDao {
 - public PersonDaoImpl2(DaoManager daoManager) {
 - super(daoManager);
 - }
 - public void insertPerson(Person person) throws SQLException {
 - insert("insertPerson", person);
 - }
 - public void updatePerson(Person person) throws SQLException {
 - update("updatePerson", person);
 - }
 - public Person getPersonById(int personId) throws SQLException {
 - return (Person) queryForObject("getPersonById", personId);
 - }
 - public void deletePerson(int personId) throws SQLException {
 - delete("deletePerson", personId);
 - }
 - public List allPersonList() throws SQLException {
 - return queryForList("allPersonList", null);
 - }
 - }
 
iBATIS中添加DAO的配置四,
測試PersonDaoImpl2Test(正確行驗(yàn)證)
- package yidishui.daoIbatisImpl;
 - import junit.framework.*;
 - import yidishui.daoIbatisImpl.PersonDaoImpl;
 - import yidishui.domain.Person;
 - import yidishui.dao.PersonDao;
 - import yidishui.DaoConfig;
 - import java.sql.SQLException;
 - import java.util.List;
 - import com.ibatis.dao.client.DaoManager;
 - public class PersonDaoImpl2Test extends TestCase {
 - DaoManager daoManager;
 - protected void setUp() throws Exception {
 - daoManager = DaoConfig.getDaoManager();
 - }
 - public void testInsertPerson() {
 - PersonDao personDao = (PersonDao) daoManager.getDao(PersonDao.class);
 - Person person = new Person();
 - person.setPersonName("yidishui");
 - person.setPersonEmail("yidishui1570@gamil.com");
 - person.setPersonAge(100);
 - try {
 - personDao.insertPerson(person);
 - } catch (SQLException e) {
 - e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
 - }
 - }
 - public void testUpdatePerson() throws Exception {
 - PersonDao personDao = (PersonDao) daoManager.getDao(PersonDao.class);
 - Person person = new Person();
 - person.setPersonId(1);
 - person.setPersonName("caotao");
 - person.setPersonEmail("caotao1570@gamil.com");
 - person.setPersonAge(1100);
 - personDao.updatePerson(person);
 - }
 - public void testDeletePerson() throws Exception {
 - PersonDao personDao = (PersonDao) daoManager.getDao(PersonDao.class);
 - personDao.deletePerson(1);
 - }
 - public void testAllPersonList() throws Exception {
 - PersonDao personDao = (PersonDao) daoManager.getDao(PersonDao.class);
 - List list = personDao.allPersonList();
 - assertTrue("list size is 0", list.size() ﹥ 0);
 - for (int i = 0; i ﹤ list.size(); i++) {
 - Person person = (Person) list.get(i);
 - System.out.println(person.getPersonName());
 - }
 - }
 - }
 
iBATIS中添加DAO的配置五.
運(yùn)行測試
測試成功ok完成
iBATIS中添加DAO支持的配置及測試就向你介紹到這里,希望對(duì)你有所了解.
【編輯推薦】















 
 
 
 
 
 
 