<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片永久免费观看| 亚洲不卡在线观看| 成人片黄网站色大片免费| 亚洲精华国产精华精华液| 免费真实播放国产乱子伦| 高清免费久久午夜精品| 久久国产亚洲精品麻豆| 日韩免费人妻AV无码专区蜜桃| 337p日本欧洲亚洲大胆精品555588 | 国产一区二区三区免费| 亚洲av色影在线| 蜜桃AV无码免费看永久| 亚洲一区二区三区91| 午夜视频免费成人| 特级无码毛片免费视频| 亚洲精品无码久久久久| 一级毛片在线免费看| 亚洲av一本岛在线播放| 四虎免费久久影院| 亚洲免费观看视频| 91午夜精品亚洲一区二区三区| 日韩免费视频播放| 中文字幕免费在线看线人动作大片| 亚洲电影中文字幕| 白白国产永久免费视频| 精品久久久久久国产免费了 | 大香人蕉免费视频75| 四虎影视久久久免费| 中文字幕亚洲精品| 国产无遮挡又黄又爽免费视频| 女同免费毛片在线播放| 亚洲AV日韩综合一区尤物| 亚洲精品动漫人成3d在线| 最新黄色免费网站| 无码 免费 国产在线观看91|