一滴水

          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 一滴水 閱讀(2573) 評論(0)  編輯  收藏 所屬分類: ORMjava開發總結

          主站蜘蛛池模板: 青岛市| 赞皇县| 寻甸| 海丰县| 拜城县| 青阳县| 鸡西市| 金川县| 三江| 满洲里市| 都江堰市| 丽江市| 呼伦贝尔市| 礼泉县| 洱源县| 离岛区| 南宫市| 青龙| 乡城县| 南昌市| 页游| 郴州市| 珠海市| 安图县| 定边县| 望江县| 彝良县| 开鲁县| 曲靖市| 天津市| 永嘉县| 雅安市| 花莲市| 盘山县| 汕头市| 华容县| 阳江市| 内黄县| 巴楚县| 吉隆县| 区。|