我们可以按照如下的顺序来添加ibatis Dao。涉及添加ibatis Dao工作的代码如下。
添加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实现,添加类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(正确行验证)
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步骤五:运行测试
测试成功ok完成。
通过以上五个步骤,我们可以很好的完成ibatis Dao的添加,希望对朋友们有所帮助。
【编辑推荐】