一滴水

java 2006年1月新开始:)
随笔 - 10, 文章 - 2, 评论 - 6, 引用 - 0
数据加载中……

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完成

posted on 2006-07-19 17:06 一滴水 阅读(2561) 评论(0)  编辑  收藏 所属分类: ORMjava开发总结


只有注册用户登录后才能发表评论。


网站导航: