<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    shenang博客技術(shù)文檔


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

    posts - 35,comments - 55,trackbacks - 0
     

    整合SPingibatis
          
    學習了一段時間的Spring了,感覺對于Spring的理解還是不夠深刻,還有太多的地方需要學習,因為前段時間學過ibatisstruts,在網(wǎng)上也看到很多關(guān)于三者整合的文章,下面是我自己寫的一個關(guān)于spingibatis整合的一個案例

    對于像我一樣的新手,大家可以共同學習,有錯誤的地方請給予指教,謝謝!

    對于高手,請給予改正意見。

    1、建立一個WEB工程

    需要尋入的包:

    里面有部份是struts需要的包,故不需要導(dǎo)入

    2、建立表

    我用的mysql

    共三個字段,id,name,sex

    3、建立一個model

    User.java

    package com.ctgusec.zhupan.model;

    import java.io.Serializable;

    public class User implements Serializable {
        
    // private static final long serialVersionUID = 1L;

        
    private Integer id;

        
    private String name;

        
    private Integer sex;

        
    public User() {
        }


        
    public Integer getId() {
            
    return id;
        }


        
    public void setId(Integer id) {
            
    this.id = id;
        }


        
    public String getName() {
            
    return name;
        }


        
    public void setName(String name) {
            
    this.name = name;
        }


        
    public Integer getSex() {
            
    return sex;
        }


        
    public void setSex(Integer sex) {
            
    this.sex = sex;
        }


    }
     

    4、寫ibatis的二個配置文件SqlmapConfig.xml User.xml
    SqlmapConfig.xml

    1 <?xml version = "1.0" encoding = "UTF-8"?>  
    2  <!DOCTYPE sqlMapConfig 
    3     PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" 
    4     "http://www.ibatis.com/dtd/sql-map-config-2.dtd"  >  
    5  <sqlMapConfig >
    6  <sqlMap  resource  = "com/ctgusec/zhupan/maps/User.xml"/>  
    7  </sqlMapConfig>  
    8 
    9 
    User.xml
     1<?xml version = "1.0" encoding = "UTF-8"?>
     2<!DOCTYPE sqlMap 
     3    PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" 
     4    "http://www.ibatis.com/dtd/sql-map-2.dtd">
     5<sqlMap namespace="User">   
     6    <typeAlias alias="user" type="com.ctgusec.zhupan.model.User"/>
     7            <insert id="insertUser" parameterClass="user">
     8        INSERT INTO t_user(id,name,sex) VALUES (#id#,#name#,#sex# )
     9    </insert>
    10    </sqlMap>
    11
    12


    可以看出比ibatis獨立配置少了很多東西,因為在ibatis里面的連接數(shù)據(jù)庫配置,現(xiàn)在需寫在另一個配置文件里,在下面的配置文件中將看到。

    5、寫IUserDAO.java 和 UserDao.java
    UserDao.java
     1package com.ctgusec.zhupan.dao;
     2import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
     3import com.ctgusec.zhupan.interf.IUserDao;
     4import com.ctgusec.zhupan.model.User;
     5
     6public class UserDAO extends SqlMapClientDaoSupport implements IUserDao
     7      public void insertUser(User user) 
     8        getSqlMapClientTemplate().insert("insertUser", user); 
     9      }
       
    10    }
       
    11
    12
    IUserDAO.java
    package com.ctgusec.zhupan.interf;

    import com.ctgusec.zhupan.model.User;

    public interface IUserDao {
        
        
    public void insertUser(User user);//插入用戶

    }

    這是對插入用戶的方法的實現(xiàn),通過inserUser(User user)方法,向數(shù)據(jù)庫中插入一條數(shù)據(jù)。
    getSqlMapClientTemplate().insert("insertUser", user); 這里是使用了SPring的模版,這個方法是對ibatis里面的對數(shù)據(jù)庫操作的封裝。
    6、寫Ibatis-Context.xml
     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" 
     3 "http://www.springframework.org/dtd/spring-beans.dtd">
     4 
     5 <beans>  
     6     <bean id="dataSource"
     7         class="org.apache.commons.dbcp.BasicDataSource"
     8         destroy-method="close">
     9         <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    10         <property name="url" value="jdbc:mysql://localhost:3306/mydb"/>
    11         <property name="username" value="root"/>
    12         <property name="password" value="200520"/>
    13     </bean>
    14     <bean id="sqlMapClient"
    15         class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
    16         <property name="configLocation">
    17             <value>/com/ctgusec/zhupan/maps/SqlMapConfig.xml</value>
    18         </property>
    19     </bean>
    20 
    21     <bean id="transactionManager"
    22         class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    23         <property name="dataSource">
    24             <ref local="dataSource" />
    25         </property>
    26     </bean>
    27 
    28     <bean id="userDAO" class="com.ctgusec.zhupan.dao.UserDAO">
    29         <property name="dataSource">
    30             <ref local="dataSource" />
    31         </property>
    32         <property name="sqlMapClient">
    33             <ref local="sqlMapClient" />
    34         </property>
    35     </bean>
    36 
    37     <bean id="userDAOProxy"
    38         class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
    39         <property name="transactionManager">
    40             <ref bean="transactionManager" />
    41         </property>
    42 
    43         <property name="target">
    44             <ref local="userDAO" />
    45         </property>
    46 
    47         <property name="transactionAttributes">
    48             <props>
    49                 <prop key="insert*">PROPAGATION_REQUIRED</prop>
    50                 <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
    51             </props>
    52         </property>
    53     </bean>
    54 </beans>
    55 
    上面的代碼大家一定不陌生,這就是Spring的配置文件,這里不再多說,如果不明白,請查看相關(guān)書籍。
    7、寫一個測試文件SpringTest.java
     1 package com.ctgusec.zhupan;
     2 
     3 import org.springframework.context.ApplicationContext;
     4 import org.springframework.context.support.ClassPathXmlApplicationContext;
     5 
     6 import com.ctgusec.zhupan.interf.IUserDao;
     7 import com.ctgusec.zhupan.model.User;
     8 import com.opensymphony.xwork2.ActionSupport;
     9 
    10 public class SpringTest extends ActionSupport{
    11     public static void main(String[] args) {
    12         
    13         ApplicationContext context = new ClassPathXmlApplicationContext(
    14                 "Ibatis-Context.xml");
    15         IUserDao dao=(IUserDao)context.getBean("userDAOProxy");
    16         User user=new User();
    17         user.setId(123456789);
    18         user.setName("love");
    19         user.setSex(1);
    20         dao.insertUser(user);
    21     }
    22 }
    查看數(shù)據(jù)庫,插入成功。

     

    通過此篇文章,我希望跟我一樣初學Spring的同志一直學習,一起進步,有什么錯誤,請指正.



    posted on 2009-03-25 11:52 重慶理工小子 閱讀(592) 評論(0)  編輯  收藏 所屬分類: Spring2Ibaties框架技術(shù)整合
    主站蜘蛛池模板: 一区二区三区AV高清免费波多| 午夜精品射精入后重之免费观看| 亚洲自偷自偷偷色无码中文| 久久国产精品免费专区| 最新亚洲春色Av无码专区| 亚洲日韩在线观看免费视频| 1000部禁片黄的免费看| 国产精品亚洲一区二区三区久久 | 免费高清在线影片一区| 国产特黄特色的大片观看免费视频| 亚洲国产成人久久综合一| 国产网站免费观看| 特级无码毛片免费视频尤物| 亚洲精品无码永久在线观看男男 | 亚洲视频一区二区三区四区| 亚洲日本中文字幕天堂网| 久久这里只有精品国产免费10| 精品无码一级毛片免费视频观看| 亚洲一区中文字幕在线观看| 国产亚洲视频在线播放| 暖暖在线日本免费中文| 99在线热视频只有精品免费| 老司机午夜在线视频免费观| 亚洲免费观看网站| 亚洲AV无一区二区三区久久| 国产免费拔擦拔擦8x| 午夜性色一区二区三区免费不卡视频 | 国产高清免费视频| 99久久免费国产特黄| 精品久久久久久亚洲中文字幕 | 好看的亚洲黄色经典| 免费大片在线观看网站| 免费精品国产自产拍在线观看图片 | 91精品导航在线网址免费| a高清免费毛片久久| 亚洲aⅴ天堂av天堂无码麻豆| 亚洲日产2021三区在线| 亚洲va久久久噜噜噜久久男同 | 亚洲成色www久久网站夜月| 亚洲午夜无码片在线观看影院猛| 午夜寂寞在线一级观看免费|