第一步:创建数据库

MySQL代码

 1 CREATE DATABASE `mybatis` ;
2
3 USE `mybatis`;
4
5 CREATE TABLE `user` (
6 `id` INT(20) NOT NULL,
7 `name` VARCHAR(30) DEFAULT NULL,
8 `pwd` VARCHAR(30) DEFAULT NULL,
9 PRIMARY KEY (`id`)
10 ) ENGINE=INNODB DEFAULT CHARSET=utf8;
11
12 INSERT INTO `user`(`id`,`name`,`pwd`)
13 VALUES (1,'闪电侠','123'),(2,'蜘蛛侠','abc'),(3,'钢铁侠','520');

第二步:创建一个Maven项目

导入相关架包

  • junit
  • mybaits
  • mysql连接驱动
  • Spring
  • spring-jdbc
  • mybatis-spring
 1 <dependencies>
2 <!--junit 单元测试-->
3 <dependency>
4 <groupId>junit</groupId>
5 <artifactId>junit</artifactId>
6 <version>4.11</version>
7 </dependency>
8
9 <!--mybaits-->
10 <dependency>
11 <groupId>org.mybatis</groupId>
12 <artifactId>mybatis</artifactId>
13 <version>3.4.6</version>
14 </dependency>
15
16 <!--mysql连接驱动-->
17 <dependency>
18 <groupId>mysql</groupId>
19 <artifactId>mysql-connector-java</artifactId>
20 <version>5.1.47</version>
21 </dependency>
22
23 <!--Spring的包-->
24 <dependency>
25 <groupId>org.springframework</groupId>
26 <artifactId>spring-webmvc</artifactId>
27 <version>4.3.9.RELEASE</version>
28 </dependency>
29
30 <!--spring-jdbc -->
31 <dependency>
32 <groupId>org.springframework</groupId>
33 <artifactId>spring-jdbc</artifactId>
34 <version>4.3.9.RELEASE</version>
35 </dependency>
36
37 <!--mybatis-spring-->
38 <dependency>
39 <groupId>org.mybatis</groupId>
40 <artifactId>mybatis-spring</artifactId>
41 <version>1.3.2</version>
42 </dependency>
43 </dependencies>
44
45 <build>
46 <!--希望maven在导出项目的时候,能够将我们的配置及资源导出-->
47 <resources>
48 <resource>
49 <directory>src/main/java</directory>
50 <includes>
51 <include>**/*.properties</include>
52 <include>**/*.xml</include>
53 </includes>
54 <filtering>false</filtering>
55 </resource>
56 <resource>
57 <directory>src/main/resources</directory>
58 <includes>
59 <include>**/*.properties</include>
60 <include>**/*.xml</include>
61 </includes>
62 <filtering>false</filtering>
63 </resource>
64 </resources>
65 </build>

第三步:创建实体类

 1 public class User {
2
3 private int id;
4 private String name;
5 private String pwd;
6
7 public User() {
8 }
9
10 public User(int id, String name, String pwd) {
11 this.id = id;
12 this.name = name;
13 this.pwd = pwd;
14 }
15
16 public int getId() {
17 return id;
18 }
19
20 public void setId(int id) {
21 this.id = id;
22 }
23
24 public String getName() {
25 return name;
26 }
27
28 public void setName(String name) {
29 this.name = name;
30 }
31
32 public String getPwd() {
33 return pwd;
34 }
35
36 public void setPwd(String pwd) {
37 this.pwd = pwd;
38 }
39
40 @Override
41 public String toString() {
42 return "User{" +
43 "id=" + id +
44 ", name='" + name + '\'' +
45 ", pwd=" + pwd +
46 '}';
47 }
48 }

第四步:创建接口和实现类

接口UserMapper

1 public interface UserMapper {
2
3 List<User> getUser();
4
5 }

实现类UserMapper.xml

 1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE mapper
3 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
4 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
5
6 <!--mapper标签的namespace对应Mapper接口的类-->
7 <mapper namespace="com.shandx.dao.UserMapper">
8
9 <select id="getUser" resultType="User">
10 select * from user
11 </select>
12
13 </mapper>

第五步:配置mybatis文件

在resources下创建mybatis-config.xml文件,简单的设置别名和mapper映射文件

 1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE configuration
3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
4 "http://mybatis.org/dtd/mybatis-3-config.dtd">
5 <configuration>
6
7 <!--别名-->
8 <typeAliases>
9 <package name="com.shandx.pojo"/>
10 </typeAliases>
11
12 <!--关联映射文件-->
13 <mappers>
14 <mapper resource="com/shandx/dao/UserMapper.xml"/>
15 </mappers>
16
17 </configuration>

第六步:编写spring配置文件

在resources创建beans-config.xml文件

1.数据源配置

 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"
4 xsi:schemaLocation="http://www.springframework.org/schema/beans
5 http://www.springframework.org/schema/beans/spring-beans.xsd">
6
7 <!--1.配置数据源-->
8 <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
9 <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
10 <property name="url" value="jdbc:mysql://localhost:3306/mybatis?
11 useSSL=true&amp;useUnicode=true&amp;characterEncoding=utf-8"/>
12 <property name="username" value="root"/>
13 <property name="password" value="123456"/>
14 </bean>
15
16 </beans>

2.sqlSessionFactory配置

1 <!--2.配置SqlSessionFactory-->
2 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
3 <property name="dataSource" ref="dataSource"/>
4 <!--关联mybatis的配置文件-->
5 <property name="configLocation" value="classpath:mybatis-config.xml"/>
6 </bean>

3.sqlSession配置

1 <!--3.创建SqlSession-->
2 <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
3 <constructor-arg index="0" ref="sqlSessionFactory" />
4 </bean>

4.接口实现类增加一个属性:sqlSession

在dao类下创建UserMapperImpl

 1 public class UserMapperImpl implements UserMapper {
2
3 private SqlSessionTemplate sqlSession;
4
5 public void setSqlSession(SqlSessionTemplate sqlSession) {
6 this.sqlSession = sqlSession;
7 }
8
9 public List<User> getUser() {
10
11 UserMapper mapper = sqlSession.getMapper(UserMapper.class);
12 return mapper.getUser();
13
14 }
15 }

5.将接口的实现类交给spring来管理

1 <!--4.接口实现类注入SqlSession-->
2 <bean id="UserMapperImpl" class="com.shandx.dao.UserMapperImpl">
3 <property name="sqlSession" ref="sqlSession"/>
4 </bean> 

第七步:测试

 1 public class UserMapperTest {
2
3 @Test
4 public void getUser(){
5 ApplicationContext context = new ClassPathXmlApplicationContext("beans-config.xml");
6 UserMapper userDaoImpl = (UserMapper) context.getBean("UserMapperImpl");
7 List<User> users = userDaoImpl.getUser();
8 for (User user : users) {
9 System.out.println(user);
10 }
11 }
12 }

第八步:运行结果

项目结构

Spring(4):Mybatis和Spring整合的更多相关文章

  1. spring与mybatis三种整合方法

    spring与mybatis三种整合方法 本文主要介绍Spring与Mybatis三种常用整合方法,需要的整合架包是mybatis-spring.jar,可通过链接 http://code.googl ...

  2. OSGI企业应用开发(十四)整合Spring、Mybatis、Spring MVC

    作为一个企业级的Web应用,MVC框架是必不可少的.Spring MVC目前使用也比较广泛,本文就来介绍一下如何在OSGI应用中实现Spring.Mybatis.Spring MVC框架的整合,其中S ...

  3. Java基础-SSM之Spring和Mybatis以及Spring MVC整合案例

    Java基础-SSM之Spring和Mybatis以及Spring MVC整合案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 能看到这篇文章的小伙伴,详细你已经有一定的Java ...

  4. spring与mybatis五种整合方法

    1.采用数据映射器(MapperFactoryBean)的方式 不用写mybatis映射文件,采用注解方式提供相应的sql语句和输入参数.  (1)Spring配置文件: <!-- 引入jdbc ...

  5. Spring+SpringMVC+MyBatis+Maven框架整合

    本文记录了Spring+SpringMVC+MyBatis+Maven框架整合的记录,主要记录以下几点 一.Maven需要引入的jar包 二.Spring与SpringMVC的配置分离 三.Sprin ...

  6. idea spring+springmvc+mybatis环境配置整合详解

    idea spring+springmvc+mybatis环境配置整合详解 1.配置整合前所需准备的环境: 1.1:jdk1.8 1.2:idea2017.1.5 1.3:Maven 3.5.2 2. ...

  7. OSGI企业应用开发(十五)基于Spring、Mybatis、Spring MVC实现一个登录应用

    前面文章中,我们已经完成了OSGI应用中Spring.Mybatis.Spring MVC的整合,本篇文章我们就在这个基础上来完成一个简单的登录应用,其中用户名和密码需要从数据库中查询. 前面文章中, ...

  8. 搭建Spring + SpringMVC + Mybatis框架之三(整合Spring、Mybatis和Spring MVC)

    整合Spring和SpringMVC 之前已经整合了spring和mybatis,现在在此基础上整合SSM. 项目目录: 思路:SpringMVC的配置文件独立,然后在web.xml中配置整合. (1 ...

  9. spring与mybatis,strut2整合连接sqlserver不的不说的那点事儿

    今天在通过spring与mybatis整合中,想连接下公司用的sqlserver数据库,结果使用Junit测发现没连上,于是就有了下面的问题: 准备工作都已经做好了 web中spring的监听配置了 ...

  10. Mybatis(六):spring与mybatis三种整合方法

    1.采用MapperScannerConfigurer,它将会查找类路径下的映射器并自动将它们创建成MapperFactoryBean. spring-mybatis.xml: <?xml ve ...

随机推荐

  1. Docker进阶一:网络篇

    理解Docker0 查看本地ip ip addr [root@VM-0-6-centos ~]# ip addr #本机回环地址 1: lo: <LOOPBACK,UP,LOWER_UP> ...

  2. vue禁用浏览器回退

    解决方案 mounted() { history.pushState(null, null, document.URL) window.addEventListener('popstate', () ...

  3. this.$set用法

    this.$set()的主要功能是解决改变数据时未驱动视图的改变的问题,也就是实际数据被改变了,但我们看到的页面并没有变化,这里主要讲this.$set()的用法,如果你遇到类似问题可以尝试下,vue ...

  4. Django笔记&教程 6-3 使用模型(models)创建表单(form)

    Django 自学笔记兼学习教程第6章第3节--使用模型(models)创建表单(form) 点击查看教程总目录 本文参考:Forms for models 1 - 初步介绍 很多时候,我们使用的表单 ...

  5. Spark面试题(七)——Spark程序开发调优

    Spark系列面试题 Spark面试题(一) Spark面试题(二) Spark面试题(三) Spark面试题(四) Spark面试题(五)--数据倾斜调优 Spark面试题(六)--Spark资源调 ...

  6. 如何用webgl(three.js)搭建处理3D园区、3D楼层、3D机房管线问题(机房升级版)-第九课(一)

    写在前面的话: 说点啥好呢?就讲讲前两天的小故事吧,让我确实好好反省了一下. 前两天跟朋友一次技术对话,对方问了一下Geometry与BufferGeometry的具体不同,我一下子脑袋短路,没点到重 ...

  7. 使用apt安装docker

    使用apt安装docker # 更新数据源 apt-get update # 安装所需依赖 apt-get -y install apt-transport-https ca-certificates ...

  8. [源码解析] PyTorch 分布式(13) ----- DistributedDataParallel 之 反向传播

    [源码解析] PyTorch 分布式(13) ----- DistributedDataParallel 之 反向传播 目录 [源码解析] PyTorch 分布式(13) ----- Distribu ...

  9. 2017Java前景怎么样?

    当今社会互联网软件行业属于高薪技术行业,伴随着互联网的发展Java在Web领域的优势也日渐凸显,并且java语言本身就应用最广泛,最高效.据说,全球有25亿Java器件运行着Java,450多万Jav ...

  10. #pragma warning(disable:4996)

    VS使用中常常会遇到一些过时或者不安全的函数,编译会报错: 错误 C4996 'sscanf': This function or variable may be unsafe. Consider u ...