一滴水

          java 2006年1月新開始:)
          隨筆 - 10, 文章 - 2, 評論 - 6, 引用 - 0

          導航

          <2006年7月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          常用鏈接

          留言簿(3)

          隨筆分類

          文章分類

          java站點

          搜索

          •  

          最新評論

          閱讀排行榜

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

          主站蜘蛛池模板: 新龙县| 仪征市| 伊川县| 周至县| 曲周县| 麟游县| 北辰区| 湘阴县| 白水县| 枣强县| 玉环县| 台山市| 历史| 闻喜县| 浦东新区| 射阳县| 保德县| 乌恰县| 酒泉市| 沈丘县| 乐陵市| 鄂托克前旗| 八宿县| 襄城县| 文水县| 龙州县| 广平县| 安宁市| 宁海县| 阿坝县| 宁阳县| 安多县| 闻喜县| 日照市| 永德县| 和静县| 方山县| 宁武县| 兰坪| 杭锦旗| 太原市|