shenang博客技術(shù)文檔


          理論不懂就實踐,實踐不會就學理論!

          posts - 35,comments - 55,trackbacks - 0
           

          ibatis in Spring(簡單配置)

                     (實現(xiàn)Springibaties的簡單)

          這里我們重點探討Spring框架下的ibatis應用,特別是在容器事務管理模式下的ibatis應用開發(fā)。針對ibatisSpring配置文件如下:

           

          1Ibatis-Context.xml:

          (下面我將對本文檔進行詳細說明)

          <?xml version="1.0" encoding="UTF-8"?>

          <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"

          "http://www.springframework.org/dtd/spring-beans.dtd">

           

          <beans>    

           <bean id="dataSource"  這個節(jié)點不用介紹了

             class="org.apache.commons.dbcp.BasicDataSource"

             destroy-method="close">

             <property name="driverClassName">

               <value>net.sourceforge.jtds.jdbc.Driver</value>

             </property>

             <property name="url">

               <value>jdbc:jtds:sqlserver://127.0.0.1:1433/Sample</value>

             </property>

             <property name="username">

               <value>test</value>

             </property>

             <property name="password">

               <value>changeit</value>

             </property>

           </bean>

           

          這里的sqlMapClient節(jié)點實際上配置了一個sqlMapClient的創(chuàng)

          建工廠類。 configLocation

          屬性配置了ibatis映射文件的名稱

           <beanid="sqlMapClient"           class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">

           <property name="configLocation">        <value>SqlMapConfig.xml</value>

             </property>

           </bean>

           

          transactionManager節(jié)點, 這里我們的transactionManager配置與之前JDBC示例中相同,都采用了DataSourceTransactionManager

          <bean id="transactionManager" 

          class="org.springframework.jdbc.datasource.DataSourceTransactio

          nManager">

                  <property name="dataSource"><ref

          local="dataSource"/></property>

              </bean>

              

           userDAO節(jié)點

          對應的,UserDAO需要配置兩個屬性,sqlMapClientDataSource

          sqlMapClient將從指定的DataSource中獲取數(shù)據(jù)庫連接。

           <bean id="userDAO" class="net.xiaxin.dao.UserDAO">

             <property name="dataSource">

               <ref local="dataSource" />

             </property>

             <property name="sqlMapClient">

               <ref local="sqlMapClient" />

             </property>

           </bean>

           

          下面是事務管理

           <bean id="userDAOProxy"

           class="org.springframework.transaction.interceptor.TransactionPro

          xyFactoryBean">

           

             <property name="transactionManager">

               <ref bean="transactionManager" />

             </property>

           

             <property name="target">

               <ref local="userDAO" />

             </property>

           

             <property name="transactionAttributes">

               <props>

                 <prop key="insert*">PROPAGATION_REQUIRED</prop>

                 <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>

               </props>

             </property>

           </bean>

          </beans>

          2sqlMapConfig.xml:

          <sqlMapConfig>

           <sqlMap resource="net/xiaxin/dao/entity/user.xml"/>

          </sqlMapConfig>

          3net/xiaxin/dao/entity/user .xml

           

          <sqlMap namespace="User">

           <typeAlias alias="user" type="net.xiaxin.dao.entity.User" />

           

           <insert id="insertUser" parameterClass="user">

              INSERT INTO users ( username, password) VALUES ( #username#,

          #password# )

           </insert>

           </sqlMap>

          4UserDAO.java

           

          public class UserDAO extends SqlMapClientDaoSupport implements

          IUserDAO {

           

           public void insertUser(User user) {

              getSqlMapClientTemplate().update("insertUser", user);

           }

          }

          5User .java

          public class User {

           

           public Integer id;

           

           public String username; public String password;

          public Integer getId() {

             return id;

          }

          public void setId(Integer id) {

             this.id = id;

          }

          public String getPassword() {

             return password;

          }

          public void setPassword(String password) {

             this.password = password;

          }

          public String getUsername() {

             return username;

          }

          public void setUsername(String username) {

             this.username = username;

          }

          扼要

          6、測試代碼

          InputStream is = new FileInputStream("Ibatis-Context.xml");

          XmlBeanFactory factory = new XmlBeanFactory(is);

          IUserDAO userdao = (IUserDAO)factory.getBean("userDAOProxy");

           

          User user = new User();

          user.setUsername("Sofia");

          user.setPassword("mypass");

           

          userdao.insertUser(user);

          posted on 2009-03-24 13:26 重慶理工小子 閱讀(1170) 評論(0)  編輯  收藏 所屬分類: Spring2
          主站蜘蛛池模板: 古田县| 横峰县| 白水县| 德钦县| 徐汇区| 孝感市| 大新县| 元江| 基隆市| 交城县| 栾城县| 哈巴河县| 疏勒县| 台南市| 鹿邑县| 阜宁县| 措勤县| 永修县| 甘德县| 阳泉市| 江陵县| 静海县| 河南省| 海兴县| 来凤县| 玛曲县| 铁力市| 仪陇县| 楚雄市| 湘西| 南安市| 蓬莱市| 高要市| 武宣县| 海南省| 宁陵县| 涞水县| 土默特左旗| 贞丰县| 乐安县| 金门县|