ibtis配置之添加ibatis Dao支持
创始人
2024-04-17 08:10:51
0

我们可以按照如下的顺序来添加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的添加,希望对朋友们有所帮助。

【编辑推荐】

  1. ibatis官方提示文档中的错误
  2. 探索的ibatis DAO事务管理模块
  3. 分析ibatis dao框架
  4. ibatis DAO入门进阶宝典
  5. 了解iBatis.Net中的ResultMap

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...