Spring4 srpingmvc Mybatis 整合源码 及过程

基本准备工作

1、安装JDK1.6以上版本,安装与配置

2、下载mybatis-3.2.0版:https://repo1.maven.org/maven2/org/mybatis/mybatis/

3、下载mybatis-spring-1.2.1版:https://repo1.maven.org/maven2/org/mybatis/mybatis-spring/

4、Spring-4.0.0的版本

5、tomacat6.x以上版本即可

当然,这些jar还不够,还需要MySQL数据库与驱动,log4j的jar等等。下面我们开始今天的旅行:

【java框架源码下载】

第一步:创建数据库表

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

CREATE DATABASE IF NOT EXISTS mybatis;  

USE mybatis;  

create table t_user
•(
•    user_id int(11) NOT NULL AUTO_INCREMENT,
•    user_name varchar(20) not null,
•    user_age varchar(20) not null,
•    PRIMARY KEY (user_id)
•)ENGINE=InnoDB DEFAULT CHARSET=utf8;

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

第二步:添加jar包

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

第三步:创建model

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

01.package com.tgb.model;
02.
03./**
04. * 用户
05. * @author liang
06. *
07. */
08.public class User {
09.
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接口。

01.package com.tgb.mapper;
02.
03.import java.util.List;
04.
05.import com.tgb.model.User;
06.
07.public interface UserMapper {
08.
09.    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接口的实现。

01.<?xml version="1.0" encoding="UTF-8"?>
02.<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
03."http://mybatis.org/dtd/mybatis-3-mapper.dtd">
04.<!--
05.    namespace:必须与对应的接口全类名一致
06.    id:必须与对应接口的某个对应的方法名一致
07.
08. -->
09.<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的整合是这篇博文的重点,需要配置的内容在下面有详细的解释。

01.<?xml version="1.0" encoding="UTF-8"?>
02.<beans xmlns="http://www.springframework.org/schema/beans"
03.    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
04.    xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
05.    xsi:schemaLocation="
06.        http://www.springframework.org/schema/beans
07.        http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
08.        http://www.springframework.org/schema/context
09.        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的配置文件

01.<?xml version="1.0" encoding="UTF-8"?>
02.<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
03."http://mybatis.org/dtd/mybatis-3-config.dtd">
04.<configuration>
05.
06.    <!-- 实体类,简称 -设置别名 -->
07.    <typeAliases>
08.        <typeAlias alias="User" type="com.tgb.model.User" />
09.    </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>

java企业级通用权限安全框架源码 SpringMVC mybatis or hibernate+ehcache shiro druid bootstrap HTML5

【java框架源码下载】

时间: 2024-08-29 14:42:05

Spring4 srpingmvc Mybatis 整合源码 及过程的相关文章

MyBatis简单源码分析1 - 环境搭建

本文以MyBatis独立使用的情形简单地分析MyBatis的源码,记录自己学习的过程 重要的Java代码如下: 主程序: 1 package com.suntao.learning.debug; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.util.List; 6 7 import org.apache.ibatis.io.Resources; 8 import org.apache.ib

cocos2d-x 3.1.1源码阅读过程的注释

cocos2d-x 3.1.1源码阅读过程的注释 印象笔记链接:http://app.yinxiang.com/l/AAU8F1mKiN9BIqFopReAU3ZbTcgGOULycQo/ Ref 每个类的基类是Ref   也就是2.0的CCObject 调用继承下来的下面的那个函数 class CC_DLL Ref { public: /** 引用计数+1 */ void retain(); { CCASSERT(_referenceCount > 0, "reference count

Android 4.4源码编译过程

Android源码下载完后的目录如下: 整个代码的大小为:25.559GB. 一.构建系统 如下用于构建Android源码树的指令应用于所有的代码分支,包括master分支. 1.选择分支 构建系统的一些要求是由将要选择编译的源代码的版本决定的.通过网址http://source.android.com/source/build-numbers.html来查看当前Android所有的分支列表.可以选择下载和构建最新的源代码(称为“master”),在这种情况下,当初始化库时,可直接省去了指定分支

mysql-5.5.28源码安装过程中错误总结

介绍一下关于mysql-5.5.28源码安装过程中几大错误总结,希望此文章对各位同学有所帮助.系统centOS 6.3 mini (没有任何编译环境)预编译环境首先装了众所周知的 cmake(yum install cmake -y) 复制代码 代码如下: ../bootstrap Error when bootstrapping CMake: Cannot find appropriate C compiler on this system. Please specify one using

Mariadb源码编译过程

从微博上看到有人提及Mariadb,搜索了一下,找到地址https://mariadb.org/,这是mysql的一个分支,由原作者维护,意在与oracle分庭抗礼,避免oracle将来毕源. 目前版本Mariadb 10.0.10,我下载了一个,准备编译一个64位版本,下载地址: https://downloads.mariadb.org/mariadb/10.0.10/ 下载后用cmake编译一下试试,进入cmake图形界面,编译器选择vs12.0 win64 Warning: Bison

Linux中centos中httpd源码安装过程详解

在Linux中软件安装有两大类,一类是软件包安装,一类是源代码安装.软件包安装就是指将编译好的二进制封装成rpm包,可以直接使用rpm工具和yum工具安装.源代码安装是指没有编译成二进制,需要通过手动编译的.使用源代码安装的原因有两个,一个就是想使用最新版的软件,另一类就是想自定义其功能的. 在httpd的源码安装过程中需要用到:APR.APR-UTIL. PCRE.httpd源码安装过程:1.展开压缩文件,把压缩文件解压缩到/usr/local/src.2.在解压文件目录使用 ./config

mybatis缓存源码分析之浅谈缓存设计

一般我们用到缓存的时候,只知道他很快,很强,还能持久,但是为什么他可以做到这些呢,有人会说这是天赋,遗传的,是的,你想的没错,确实是大佬们在构造这些的时候,赋予他这些能力,那今天我们就来剖析一下,大佬们干了啥,区区缓存就能这么厉害. 去大厂面试的时候,面试官总会喜欢问为什么,一开始,完全搞不懂我就去拧个螺丝,你问我造火箭怎么造我咋知道,后来在工作中遇到各种各样的问题,解决不了的时候,看着身边大佬们一层层点进去看源码分析问题的时候,瞬间觉得这多牛逼啊,或许一开始有动力看源码,了解为什么就是因为这个

【企业级框架整合源码】maven+Springmvc+Mybatis+Shiro+REST+WebService+JMS+Lucene+Bootstrap

开发报捷:增加Lucene搜索引擎功能 1. 创建.初始化索引.统一搜索入口.搜索结果展现--内容.标题高亮.关键词搜索 2. 高级搜索:高级搜索增加多入口查询(精确查询.模糊查询.前缀查询等),每页显示条数自定义.索引结果数据设置.选择索引文档类型等) 集成lucene搜索引擎: 1. 使用阿里巴巴Druid连接池(高效.功能强大.可扩展性好的数据库连接池.监控数据库访问性能.支持Common-Logging.Log4j和JdkLog,监控数据库访问) 2. 提供高并发JMS消息处理机制 3.

SpringMVC+Mybatis框架整合源码 项目 下载 rest websocket html5

获取[下载地址]   QQ: 313596790   [免费支持更新]A 代码生成器(开发利器);全部是源码     增删改查的处理类,service层,mybatis的xml,SQL( mysql   和oracle)脚本,   jsp页面 都生成   就不用写搬砖的代码了,生成的放到项目里,可以直接运行B 阿里巴巴数据库连接池druid;  数据库连接池  阿里巴巴的 druid.Druid在监控.可扩展性.稳定性和性能方面都有明显的优势C 安全权限框架shiro ;  Shiro 是一个用