基本配置见上篇 一.添加配置文件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完成