首页 > 代码库 > 【持久化框架】SpringMVC+Spring4+Mybatis3集成,开发简单Web项目+源码下载 【转】

【持久化框架】SpringMVC+Spring4+Mybatis3集成,开发简单Web项目+源码下载 【转】

第一步:创建数据库表


在Navicat下执行如下sql命令创建数据库mybatis和表t_user

  1. CREATE DATABASE IF NOT EXISTS mybatis; 

  2. USE mybatis;  

  3. create table t_user  

  4. (  

  5.     user_id int(11) NOT NULL AUTO_INCREMENT,  

  6.     user_name varchar(20) not null,  

  7.     user_age varchar(20) not null,  

  8.     PRIMARY KEY (user_id)  

  9. )ENGINE=InnoDB DEFAULT CHARSET=utf8;  


我们先看一下项目的完整目录,再继续下面的内容
技术分享

第二步:添加jar包


技术分享


       对于下面代码的内容,我们就不再一一贴出来,只是把最重要的内容贴出来,大家可以下载源码。


第三步:创建model

创建一个model包并在其下创建一个User.java文件。


  1. package com.tgb.model;  

  2.   

  3. /** 

  4.  * 用户 

  5.  * @author liang 

  6.  * 

  7.  */  

  8. public class User {  

  9.   

  10.     private int id;  

  11.     private String age;  

  12.     private String userName;  

  13.     public User(){  

  14.         super();  

  15.     }  

  16.     public int getId() {  

  17.         return id;  

  18.     }  

  19.     public void setId(int id) {  

  20.         this.id = id;  

  21.     }  

  22.     public String getAge() {  

  23.         return age;  

  24.     }  

  25.     public void setAge(String age) {  

  26.         this.age = age;  

  27.     }  

  28.     public String getUserName() {  

  29.         return userName;  

  30.     }  

  31.     public void setUserName(String userName) {  

  32.         this.userName = userName;  

  33.     }  

  34.     public User(int id, String age, String userName) {  

  35.         super();  

  36.         this.id = id;  

  37.         this.age = age;  

  38.         this.userName = userName;  

  39.     }  

  40. }  


第四步:创建DAO接口



创建一个包mapper,并在其下创建一个UserMapper.java文件作为DAO接口。


  1. package com.tgb.mapper;  

  2.   

  3. import java.util.List;  

  4.   

  5. import com.tgb.model.User;  

  6.   

  7. public interface UserMapper {  

  8.   

  9.     void save(User user);  

  10.     boolean update(User user);  

  11.     boolean delete(int id);  

  12.     User findById(int id);  

  13.     List<User> findAll();  

  14. }  


第五步:实现DAO接口



在dao包下创建一个UserMapper.xml文件作为上一步创建的DAO接口的实现。 


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

  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"   

  3. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">  

  4. <!--   

  5.     namespace:必须与对应的接口全类名一致  

  6.     id:必须与对应接口的某个对应的方法名一致  

  7.       

  8.  -->  

  9. <mapper namespace="com.tgb.mapper.UserMapper">  

  10.       

  11.     <insert id="save" parameterType="User">  

  12.         insert into t_user(user_name,user_age) values(#{userName},#{age})  

  13.     </insert>  

  14.       

  15.     <update id="update" parameterType="User">  

  16.         update t_user set user_name=#{userName},user_age=#{age} where user_id=#{id}  

  17.     </update>  

  18.       

  19.     <delete id="delete" parameterType="int">  

  20.         delete from t_user where user_id=#{id}  

  21.     </delete>  

  22.       

  23.      <!-- mybsits_config中配置的alias类别名,也可直接配置resultType为类路劲 -->    

  24.     <select id="findById" parameterType="int" resultType="User">  

  25.         select user_id id,user_name userName,user_age age from t_user where user_id=#{id}  

  26.     </select>  

  27.       

  28.     <select id="findAll" resultType="User">  

  29.         select user_id id,user_name userName,user_age age from t_user  

  30.     </select>  

  31.       

  32. </mapper>  


这里对这个xml文件作几点说明: 
1、namespace必须与对应的接口全类名一致。 
2、id必须与对应接口的某个对应的方法名一致即必须要和UserMapper.java接口中的方法同名。 



第六步:Mybatis和Spring的整合


      对于Mybatis和Spring的整合是这篇博文的重点,需要配置的内容在下面有详细的解释。


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

  2. <beans xmlns="http://www.springframework.org/schema/beans"  

  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"  

  4.     xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"  

  5.     xsi:schemaLocation="  

  6.         http://www.springframework.org/schema/beans  

  7.         http://www.springframework.org/schema/beans/spring-beans-4.0.xsd  

  8.         http://www.springframework.org/schema/context  

  9.         http://www.springframework.org/schema/context/spring-context-4.0.xsd  

  10.         http://www.springframework.org/schema/tx  

  11.         http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">  

  12.   

  13.     <!-- 1. 数据源 : DriverManagerDataSource -->  

  14.     <bean id="dataSource"  

  15.         class="org.springframework.jdbc.datasource.DriverManagerDataSource">  

  16.         <property name="driverClassName" value="com.mysql.jdbc.Driver" />  

  17.         <property name="url" value="jdbc:mysql://localhost:3306/mybatis" />  

  18.         <property name="username" value="root" />  

  19.         <property name="password" value="123456" />  

  20.     </bean>  

  21.   

  22.     <!--  

  23.         2. mybatis的SqlSession的工厂: SqlSessionFactoryBean dataSource:引用数据源  

  24.   

  25.         MyBatis定义数据源,同意加载配置  

  26.     -->  

  27.     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  

  28.         <property name="dataSource" ref="dataSource"></property>  

  29.         <property name="configLocation" value="classpath:config/mybatis-config.xml" />   

  30.     </bean>  

  31.   

  32.     <!--  

  33.         3. mybatis自动扫描加载Sql映射文件/接口 : MapperScannerConfigurer sqlSessionFactory  

  34.   

  35.         basePackage:指定sql映射文件/接口所在的包(自动扫描)  

  36.     -->  

  37.     <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">  

  38.         <property name="basePackage" value="com.tgb.mapper"></property>  

  39.         <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>  

  40.     </bean>  

  41.   

  42.     <!-- 

  43.         4. 事务管理 : DataSourceTransactionManager dataSource:引用上面定义的数据源 

  44.     -->  

  45.     <bean id="txManager"  

  46.         class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  

  47.         <property name="dataSource" ref="dataSource"></property>  

  48.     </bean>  

  49.   

  50.     <!-- 5. 使用声明式事务  

  51.          transaction-manager:引用上面定义的事务管理器  

  52.      -->  

  53.     <tx:annotation-driven transaction-manager="txManager" />  

  54.   

  55. </beans>  


第七步:mybatis的配置文件



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

  2. <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"   

  3. "http://mybatis.org/dtd/mybatis-3-config.dtd">  

  4. <configuration>  

  5.   

  6.     <!-- 实体类,简称 -设置别名 -->  

  7.     <typeAliases>  

  8.         <typeAlias alias="User" type="com.tgb.model.User" />  

  9.     </typeAliases>  

  10.     <!-- 实体接口映射资源 -->  

  11.     <!-- 

  12.         说明:如果xxMapper.xml配置文件放在和xxMapper.java统一目录下,mappers也可以省略,因为org.mybatis.spring.mapper.MapperFactoryBean默认会去查找与xxMapper.java相同目录和名称的xxMapper.xml 

  13.     -->  

  14.     <mappers>  

  15.         <mapper resource="com/tgb/mapper/userMapper.xml" />  

  16.     </mappers>  

  17.   

  18. </configuration>    



总结


     Mybatis和Spring的集成相对而言还是很简单的,祝你成功。

框架/平台构成:
Maven+Springmvc + Mybatis + Shiro(权限)+ Tiles(模板) +ActiveMQ(消息队列) + Rest(服务) + WebService(服务)+ EHcache(缓存) + Quartz(定时调度)+ Html5(支持PC、IOS、Android)

用户权限系统:
组织结构:角色、用户、用户组、组织机构;权限点:页面、方法、按钮、数据权限、分级授权

项目管理新体验
快速出原型系统、组件树、版本控制、模块移植、协同开发、实时监控、发布管理

可持续集成:
所有组件可移植、可定制、可扩充,开发成果不断积累,形成可持续发展的良性循环

支持平台平台: 
Windows XP、Windows 7 、Windows 10 、 Linux 、 Unix

服务器容器:
Tomcat 5/6/7 、Jetty、JBoss、WebSphere 8.5 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享


【持久化框架】SpringMVC+Spring4+Mybatis3集成,开发简单Web项目+源码下载 【转】