免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2123 | 回复: 1
打印 上一主题 下一主题

Java Web项目整合Spring3和Mybatis3初步应用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-08 20:07 |只看该作者 |倒序浏览
Java Web项目整合Spring3和Mybatis3初步应用
















一、导入的JAR包:

Xml代码
  1. <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-beanutils-1.8.3.jar"/>  
  2. <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-collections-3.2.1.jar"/>  
  3. <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-dbcp-1.4.jar"/>  
  4. <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-lang-2.6.jar"/>  
  5. <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-logging-1.1.1.jar"/>  
  6. <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-pool-1.5.6.jar"/>  
  7. <classpathentry kind="lib" path="WebContent/WEB-INF/lib/ezmorph-1.0.6.jar"/>  
  8. <classpathentry kind="lib" path="WebContent/WEB-INF/lib/log4j-1.2.16.jar"/>  
  9. <classpathentry kind="lib" path="WebContent/WEB-INF/lib/json-lib-2.4-jdk15.jar"/>  
  10. <classpathentry kind="lib" path="WebContent/WEB-INF/lib/slf4j-api-1.6.1.jar"/>  
  11. <classpathentry kind="lib" path="WebContent/WEB-INF/lib/slf4j-log4j12-1.6.1.jar"/>  
  12. <classpathentry kind="lib" path="WebContent/WEB-INF/lib/mybatis-3.0.6.jar"/>  
  13. <classpathentry kind="lib" path="WebContent/WEB-INF/lib/mybatis-spring-1.0.2.jar"/>  
  14. <classpathentry kind="lib" path="WebContent/WEB-INF/lib/mysql-connector-java-5.1.18-bin.jar"/>  
  15. <classpathentry kind="lib" path="WebContent/WEB-INF/lib/org.springframework.aop-3.0.6.RELEASE.jar"/>  
  16. <classpathentry kind="lib" path="WebContent/WEB-INF/lib/org.springframework.asm-3.0.6.RELEASE.jar"/>  
  17. <classpathentry kind="lib" path="WebContent/WEB-INF/lib/org.springframework.aspects-3.0.6.RELEASE.jar"/>  
  18. <classpathentry kind="lib" path="WebContent/WEB-INF/lib/org.springframework.beans-3.0.6.RELEASE.jar"/>  
  19. <classpathentry kind="lib" path="WebContent/WEB-INF/lib/org.springframework.context-3.0.6.RELEASE.jar"/>  
  20. <classpathentry kind="lib" path="WebContent/WEB-INF/lib/org.springframework.context.support-3.0.6.RELEASE.jar"/>  
  21. <classpathentry kind="lib" path="WebContent/WEB-INF/lib/org.springframework.core-3.0.6.RELEASE.jar"/>  
  22. <classpathentry kind="lib" path="WebContent/WEB-INF/lib/org.springframework.expression-3.0.6.RELEASE.jar"/>  
  23. <classpathentry kind="lib" path="WebContent/WEB-INF/lib/org.springframework.jdbc-3.0.6.RELEASE.jar"/>  
  24. <classpathentry kind="lib" path="WebContent/WEB-INF/lib/org.springframework.transaction-3.0.6.RELEASE.jar"/>  
  25. <classpathentry kind="lib" path="WebContent/WEB-INF/lib/org.springframework.web-3.0.6.RELEASE.jar"/>  
  26. <classpathentry kind="lib" path="WebContent/WEB-INF/lib/org.springframework.web.servlet-3.0.6.RELEASE.jar"/>  

  27.        <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-beanutils-1.8.3.jar"/>
  28.        <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-collections-3.2.1.jar"/>
  29.        <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-dbcp-1.4.jar"/>
  30.        <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-lang-2.6.jar"/>
  31.        <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-logging-1.1.1.jar"/>
  32.        <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-pool-1.5.6.jar"/>
  33.        <classpathentry kind="lib" path="WebContent/WEB-INF/lib/ezmorph-1.0.6.jar"/>
  34.        <classpathentry kind="lib" path="WebContent/WEB-INF/lib/log4j-1.2.16.jar"/>
  35.        <classpathentry kind="lib" path="WebContent/WEB-INF/lib/json-lib-2.4-jdk15.jar"/>
  36.        <classpathentry kind="lib" path="WebContent/WEB-INF/lib/slf4j-api-1.6.1.jar"/>
  37.        <classpathentry kind="lib" path="WebContent/WEB-INF/lib/slf4j-log4j12-1.6.1.jar"/>
  38.        <classpathentry kind="lib" path="WebContent/WEB-INF/lib/mybatis-3.0.6.jar"/>
  39.        <classpathentry kind="lib" path="WebContent/WEB-INF/lib/mybatis-spring-1.0.2.jar"/>
  40.        <classpathentry kind="lib" path="WebContent/WEB-INF/lib/mysql-connector-java-5.1.18-bin.jar"/>
  41.        <classpathentry kind="lib" path="WebContent/WEB-INF/lib/org.springframework.aop-3.0.6.RELEASE.jar"/>
  42.        <classpathentry kind="lib" path="WebContent/WEB-INF/lib/org.springframework.asm-3.0.6.RELEASE.jar"/>
  43.        <classpathentry kind="lib" path="WebContent/WEB-INF/lib/org.springframework.aspects-3.0.6.RELEASE.jar"/>
  44.        <classpathentry kind="lib" path="WebContent/WEB-INF/lib/org.springframework.beans-3.0.6.RELEASE.jar"/>
  45.        <classpathentry kind="lib" path="WebContent/WEB-INF/lib/org.springframework.context-3.0.6.RELEASE.jar"/>
  46.        <classpathentry kind="lib" path="WebContent/WEB-INF/lib/org.springframework.context.support-3.0.6.RELEASE.jar"/>
  47.        <classpathentry kind="lib" path="WebContent/WEB-INF/lib/org.springframework.core-3.0.6.RELEASE.jar"/>
  48.        <classpathentry kind="lib" path="WebContent/WEB-INF/lib/org.springframework.expression-3.0.6.RELEASE.jar"/>
  49.        <classpathentry kind="lib" path="WebContent/WEB-INF/lib/org.springframework.jdbc-3.0.6.RELEASE.jar"/>
  50.        <classpathentry kind="lib" path="WebContent/WEB-INF/lib/org.springframework.transaction-3.0.6.RELEASE.jar"/>
  51.        <classpathentry kind="lib" path="WebContent/WEB-INF/lib/org.springframework.web-3.0.6.RELEASE.jar"/>
  52.        <classpathentry kind="lib" path="WebContent/WEB-INF/lib/org.springframework.web.servlet-3.0.6.RELEASE.jar"/>   
复制代码
二、XML 配置文件



    applicationContext.xml

Xml代码
  1. <beans xmlns="http://www.springframework.org/schema/beans"  
  2.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  3.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">  
  4.       
  5.     <!--配置数据源,MySQL数据库,使用DBCP数据库连接池-->  
  6.     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">  
  7.         <!--MySQL数据源驱动类-->  
  8.         <property name="driverClassName" value="com.mysql.jdbc.Driver" />  
  9.         <!--MySQL数据库连接URL,字符编码UTF-8-->  
  10.         <property name="url" value="jdbc:mysql://localhost:3306/mol?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull" />  
  11.         <!--数据库连接用户和密码-->  
  12.         <property name="username" value="dev" />  
  13.         <property name="password" value="123456" />  
  14.         <!--最大连接数-->  
  15.         <property name="maxActive" value="100" />  
  16.         <!--空闲最大连接数-->  
  17.         <property name="maxIdle" value="30" />  
  18.         <!--连接超时时限,毫秒单位-->  
  19.         <property name="maxWait" value="30000" />  
  20.         <property name="defaultAutoCommit" value="true" />  
  21.     </bean>  
  22.       
  23.     <!--Mybatis的SqlSessionFactory工厂Bean-->  
  24.     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
  25.         <!--设置Mybatis配置文件-->  
  26.         <property name="configLocation" value="classpath:conf/mybatis-config.xml"/>  
  27.         <!--设置数据源-->  
  28.         <property name="dataSource" ref="dataSource" />  
  29.     </bean>  
  30.       
  31.     <!--Mybatis的映射器Mapper工厂Bean-->  
  32.     <bean id="regUserDAO" class="org.mybatis.spring.mapper.MapperFactoryBean">  
  33.         <property name="sqlSessionFactory" ref="sqlSessionFactory" />  
  34.          <!--设置映射器接口-->  
  35.         <property name="mapperInterface" value="com.leading.mol.client.dao.usermanage.RegisterUserDAO" />  
  36.     </bean>  
  37.       
  38.     <!--将映射器Bean注入Service类-->  
  39.     <bean id="userLoginService" class="com.leading.mol.client.service.usermanage.impl.UserLoginServiceImpl">  
  40.         <property name="regUserDAO" ref="regUserDAO" />  
  41.     </bean>  
  42. </beans>  

  43. <beans xmlns="http://www.springframework.org/schema/beans"
  44.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  45.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
  46.    
  47.     <!--配置数据源,MySQL数据库,使用DBCP数据库连接池-->
  48.     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
  49.         <!--MySQL数据源驱动类-->
  50.         <property name="driverClassName" value="com.mysql.jdbc.Driver" />
  51.         <!--MySQL数据库连接URL,字符编码UTF-8-->
  52.         <property name="url" value="jdbc:mysql://localhost:3306/mol?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull" />
  53.         <!--数据库连接用户和密码-->
  54.         <property name="username" value="dev" />
  55.         <property name="password" value="123456" />
  56.         <!--最大连接数-->
  57.         <property name="maxActive" value="100" />
  58.         <!--空闲最大连接数-->
  59.         <property name="maxIdle" value="30" />
  60.         <!--连接超时时限,毫秒单位-->
  61.         <property name="maxWait" value="30000" />
  62.         <property name="defaultAutoCommit" value="true" />
  63.     </bean>
  64.    
  65.     <!--Mybatis的SqlSessionFactory工厂Bean-->
  66.     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  67.         <!--设置Mybatis配置文件-->
  68.         <property name="configLocation" value="classpath:conf/mybatis-config.xml"/>
  69.         <!--设置数据源-->
  70.         <property name="dataSource" ref="dataSource" />
  71.     </bean>
  72.    
  73.     <!--Mybatis的映射器Mapper工厂Bean-->
  74.     <bean id="regUserDAO" class="org.mybatis.spring.mapper.MapperFactoryBean">
  75.         <property name="sqlSessionFactory" ref="sqlSessionFactory" />
  76.          <!--设置映射器接口-->
  77.         <property name="mapperInterface" value="com.leading.mol.client.dao.usermanage.RegisterUserDAO" />
  78.     </bean>
  79.    
  80.     <!--将映射器Bean注入Service类-->
  81.     <bean id="userLoginService" class="com.leading.mol.client.service.usermanage.impl.UserLoginServiceImpl">
  82.         <property name="regUserDAO" ref="regUserDAO" />
  83.     </bean>
  84. </beans>  
复制代码
Spring在web.xml的配置

Xml代码
  1. <context-param>  
  2.    <param-name>contextConfigLocation</param-name>  
  3.    <param-value>classpath*:conf/spring/applicationContext.xml</param-value>  
  4. </context-param>  
  5. <listener>  
  6.    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
  7. </listener>  

  8.   <context-param>
  9.      <param-name>contextConfigLocation</param-name>
  10.      <param-value>classpath*:conf/spring/applicationContext.xml</param-value>
  11.   </context-param>
  12.   <listener>
  13.      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  14.   </listener>  
  15.     Mybatis-Config.xml

  16. Xml代码  
  17. <?xml version="1.0" encoding="UTF-8"?>  
  18. <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"   
  19. "http://mybatis.org/dtd/mybatis-3-config.dtd">  
  20. <configuration>  
  21.     <mappers>  
  22.         <mapper resource="com/leading/mol/client/dao/usermanage/mapper/RegisterUser.xml"/>  
  23.     </mappers>  
  24. </configuration>  

  25. <?xml version="1.0" encoding="UTF-8"?>
  26. <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  27. "http://mybatis.org/dtd/mybatis-3-config.dtd">
  28. <configuration>
  29.     <mappers>
  30.         <mapper resource="com/leading/mol/client/dao/usermanage/mapper/RegisterUser.xml"/>
  31.     </mappers>
  32. </configuration>
复制代码
三、Mybatis的Mapper配置文件和接口
  1. Mybatis的Mapper配置文件

  2.     <?xml version="1.0" encoding="UTF-8"?>
复制代码
Xml代码
  1. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"   
  2. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">  
  3. <mapper namespace="com.leading.mol.client.dao.usermanage.RegisterUserDAO">  
  4.     <resultMap id="registerUserList" type="com.leading.mol.client.domain.usermanage.RegisterUser" >  
  5.         <id property="userId" column="userid"/>  
  6.         <result property="username" column="username"/>  
  7.         <result property="truename" column="truename"/>  
  8.         <result property="password" column="password"/>  
  9.         <result property="email" column="email"/>  
  10.     </resultMap>  
  11.       
  12.     <select id="getUserInfoByAccount" resultMap="registerUserList" parameterType="String">  
  13.     select userid, username, truename, password, email   
  14.       from mol_register_users   
  15.      where email=#{email}   
  16.     </select>  
  17.       
  18.     <insert id="insertUser" parameterType="com.leading.mol.client.domain.usermanage.RegisterUser">  
  19.     insert into mol_register_users (username, truename, password, email, comment)   
  20.     values (#{username}, #{truename}, #{password}, #{email}, #{comment})   
  21.     </insert>  
  22. </mapper>  

  23. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  24. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  25. <mapper namespace="com.leading.mol.client.dao.usermanage.RegisterUserDAO">
  26.     <resultMap id="registerUserList" type="com.leading.mol.client.domain.usermanage.RegisterUser" >
  27.         <id property="userId" column="userid"/>
  28.         <result property="username" column="username"/>
  29.         <result property="truename" column="truename"/>
  30.         <result property="password" column="password"/>
  31.         <result property="email" column="email"/>
  32.     </resultMap>
  33.    
  34.     <select id="getUserInfoByAccount" resultMap="registerUserList" parameterType="String">
  35.     select userid, username, truename, password, email
  36.       from mol_register_users
  37.      where email=#{email}
  38.     </select>
  39.    
  40.     <insert id="insertUser" parameterType="com.leading.mol.client.domain.usermanage.RegisterUser">
  41.     insert into mol_register_users (username, truename, password, email, comment)
  42.     values (#{username}, #{truename}, #{password}, #{email}, #{comment})
  43.     </insert>
  44. </mapper>  
  45.     Mybatis的Mapper接口
复制代码
Java代码
  1. public interface RegisterUserDAO   
  2. {   
  3.       
  4.     /**  
  5.      * 功能描述,根据邮箱查询注册用户  
  6.      * @param email  
  7.      * @return  
  8.      * @throws Exception  
  9.      */  
  10.     public List<RegisterUser> getUserInfoByAccount(String emailAccout) throws Exception;   
  11.       
  12.     /**  
  13.      * 功能描述,新增注册用户记录  
  14.      */  
  15.     public int insertUser(RegisterUser regUser) throws Exception;   
  16.   
  17. }  

  18. public interface RegisterUserDAO
  19. {
  20.    
  21.     /**
  22.      * 功能描述,根据邮箱查询注册用户
  23.      * @param email
  24.      * @return
  25.      * @throws Exception
  26.      */
  27.     public List<RegisterUser> getUserInfoByAccount(String emailAccout) throws Exception;
  28.    
  29.     /**
  30.      * 功能描述,新增注册用户记录
  31.      */
  32.     public int insertUser(RegisterUser regUser) throws Exception;

  33. }  
复制代码
四、获取Bean

Java代码
  1. UserLoginService userLoginService = (UserLoginService) WebApplicationContextUtils   
  2.                     .getRequiredWebApplicationContext(   
  3.                             request.getSession().getServletContext()).getBean(   
  4.                             "userLoginService");  
复制代码

论坛徽章:
0
2 [报告]
发表于 2011-12-23 20:10 |只看该作者
谢谢分享   学习鸟
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP