mybatis+spring+struts2框架整合

huidaoli發表於2013-08-01
 近期公司要開發新的專案,要用struts2+mybatis+spring框架,所以學習了下,來自己的部落格發表下,希望能給大家帶來幫助!下
邊我把我的myschool開發的原始碼以及資料庫貼出來! 
開發環境 myeclips+tomcate+sql server 
開發技術 struts2+mybatis+spring jsp+java 
一.建立web專案匯入必需的jar檔案
 
       見專案。
二.建立並編寫配置檔案,配置檔案比較多。可能有點繁瑣。 

  1.建立並編寫ApplicationContext.xml     
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans  
  3.     xmlns="http://www.springframework.org/schema/beans"  
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  5.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">  
  6.       
  7.     <!--配置資料來源屬性檔案  -->  
  8.     <bean id="propertyConfigurer"  
  9.         class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
  10.         <property name="location">  
  11.             <value>/WEB-INF/configs/sqlServer.properties</value>  
  12.         </property>  
  13.     </bean>  
  14.       
  15.     <!--配置資料來源  -->  
  16.     <bean id="dataSource"  
  17.         class="org.springframework.jdbc.datasource.DriverManagerDataSource">  
  18.         <property name="driverClassName">  
  19.             <value>${jdbc.driver}</value>  
  20.         </property>  
  21.         <property name="url">  
  22.             <value>${jdbc.url}</value>  
  23.         </property>  
  24.         <property name="username">  
  25.             <value>${jdbc.user}</value>  
  26.         </property>  
  27.         <property name="password">  
  28.             <value>${jdbc.pwd}</value>  
  29.         </property>  
  30.     </bean>  
  31.       
  32.     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">    
  33.         <property name="configLocation" value="classpath:com/test/sqlMapper/mybatis_config.xml" />    
  34.         <property name="dataSource" ref="dataSource" />    
  35.     </bean>   
  36.       
  37.       
  38.     <bean id="loginDao" class="org.mybatis.spring.mapper.MapperFactoryBean">  
  39.         <property name="mapperInterface" value="com.test.dao.ILoginDao"/>  
  40.         <property name="sqlSessionFactory" ref="sqlSessionFactory" />  
  41.     </bean>  
  42.   
  43.     <bean id="loginAction" class="com.test.action.LoginAction">  
  44.         <property name="loginDao" ref="loginDao"></property>  
  45.     </bean>  
  46. </beans>  

 
  2.配置資料來源當然要有個資料來源 屬性檔案了sqlServer.properties     

  1. jdbc.url=jdbc:sqlserver://localhost:1433;DatabaseName=login  
  2. jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver  
  3. jdbc.user=sa  
  4. jdbc.pwd=  

 
      我的資料庫密碼為空pwd當然也要空了。 
  3.mybatis的配置檔案mybatis_config.xml 

 

  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">   
  3. <configuration>  
  4.     <typeAliases>  
  5.         <typeAlias alias="userinfo" type="com.test.entity.UserInfo"/>  
  6.     </typeAliases>  
  7.     <mappers>  
  8.         <mapper resource="com/test/sqlMapper/loginMapper.xml"/>  
  9.     </mappers>  
  10. </configuration>  

    4.在mybatis_config.xml中的中有個對映檔案loginMapper.xml      

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">   
  3. <mapper namespace="com.test.dao.ILoginDao">  
  4.       
  5.     <resultMap type="userinfo" id="userMap">  
  6.         <id property="id" column="id"/>  
  7.         <result property="username" column="username"/>  
  8.         <result property="password" column="password"/>     
  9.     </resultMap>  
  10.       
  11.     <select id="getUser" parameterType="String" resultMap="userMap">  
  12.         select * from userinfo where username=#{userName}  
  13.     </select>  
  14. </mapper>  

 
    5.接下來就是web.xml      

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app version="2.4"   
  3.     xmlns="http://java.sun.com/xml/ns/j2ee"   
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   
  6.     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
  7.   
  8. <context-param>  
  9.     <param-name>contextConfigLocation</param-name>  
  10.     <param-value>/WEB-INF/classes/applicationContext.xml</param-value>  
  11. </context-param>  
  12.   
  13. <listener>  
  14.         <listener-class>  
  15.             org.springframework.web.context.ContextLoaderListener  
  16.         </listener-class>  
  17. </listener>  
  18.   
  19.   <filter>    
  20.     <filter-name>struts2</filter-name>    
  21.     <filter-class>    
  22.         org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter     
  23.     </filter-class>    
  24.    
  25.   </filter>    
  26.   
  27.   <filter-mapping>    
  28.     <filter-name>struts2</filter-name>    
  29.     <url-pattern>/*</url-pattern>    
  30.   </filter-mapping>    
  31.   
  32. </web-app>  

 
好了所有的配置檔案都已經配置好了 

三.該寫JAVA檔案了 介面,實體輔助類,還有action          

 

1.寫介面 ILoginDao.java 

  1. package com.test.dao;  
  2.   
  3. import java.util.List;  
  4.   
  5. public interface ILoginDao {  
  6.     public List getUser(String userName);  
  7. }  

       2.實體輔助類UserInfo.java 

  1. package com.test.entity;  
  2.   
  3. public class UserInfo {  
  4.       
  5.     private int id;  
  6.     private String username;  
  7.     private String password;  
  8.     public String getUsername() {  
  9.         return username;  
  10.     }  
  11.     public void setUsername(String username) {  
  12.         this.username = username;  
  13.     }  
  14.     public String getPassword() {  
  15.         return password;  
  16.     }  
  17.     public void setPassword(String password) {  
  18.         this.password = password;  
  19.     }  
  20.     public int getId() {  
  21.         return id;  
  22.     }  
  23.     public void setId(int id) {  
  24.         this.id = id;  
  25.     }  
  26. }  

 

   3.action 類 LoginAction.java

  1. package com.test.action;  
  2.   
  3. import java.util.List;  
  4.   
  5. import com.test.dao.ILoginDao;  
  6.   
  7. public class LoginAction {  
  8.   
  9.       
  10.         private ILoginDao loginDao;  
  11.         private String username;  
  12.         private String password;  
  13.           
  14.   
  15.         public String getUsername() {  
  16.             return username;  
  17.         }  
  18.         public void setUsername(String username) {  
  19.             this.username = username;  
  20.         }  
  21.         public String getPassword() {  
  22.             return password;  
  23.         }  
  24.         public void setPassword(String password) {  
  25.             this.password = password;  
  26.         }  
  27.           
  28.         public ILoginDao getLoginDao() {  
  29.             return loginDao;  
  30.         }  
  31.         public void setLoginDao(ILoginDao loginDao) {  
  32.             this.loginDao = loginDao;  
  33.         }  
  34.           
  35.         public String execute(){  
  36.             String userName = getUsername();  
  37.             String password = getPassword();  
  38.             System.out.println("userName:"+userName+"\n"+"password:"+password);  
  39.             List list = loginDao.getUser(userName);  
  40.             if(list.size()>0){  
  41.                 return "success";  
  42.             }else{  
  43.                 return "error";  
  44.             }  
  45.               
  46.         }  
  47.           
  48. }  

 

四.該寫頁面了 頁面有三個如下       

 

1. login.jsp   

<body> 
    <s:form action="login" method="post"> 
    <s:textfield name="username" label="使用者名稱:"></s:textfield> 
    <s:textfield name="password" label="密碼:"></s:textfield> 
    <s:submit value="提交"></s:submit> 
    </s:form> 
  </body> 

       2.success.jsp 

就幾個字  登陸成功       

 3.error,jsp     

就幾個字 登入失敗 

五.建立資料庫 login 建立表 userinfo  裡面就三個欄位 id  username password  資料庫我已經傳到這文章裡邊了,下載後可以直接用

六.好了快啟動tomcat看看成功了

 

 

相關文章