Ibtis基本配置--[添加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>二.添加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);
????????}
????}
}三.修改Dao實現,添加類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);
????}
}四,測試PersonDaoImpl2Test(正確行驗證)
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());
????????}
????}

}五.運行測試
?測試成功ok完成
一.添加配置文件dao.xml
























































































































































































?測試成功ok完成
posted on 2006-07-19 17:06 一滴水 閱讀(2573) 評論(0) 編輯 收藏 所屬分類: ORM 、java 、開發總結