Spring(4):Mybatis和Spring整合
第一步:创建数据库
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&useUnicode=true&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整合的更多相关文章
- spring与mybatis三种整合方法
spring与mybatis三种整合方法 本文主要介绍Spring与Mybatis三种常用整合方法,需要的整合架包是mybatis-spring.jar,可通过链接 http://code.googl ...
- OSGI企业应用开发(十四)整合Spring、Mybatis、Spring MVC
作为一个企业级的Web应用,MVC框架是必不可少的.Spring MVC目前使用也比较广泛,本文就来介绍一下如何在OSGI应用中实现Spring.Mybatis.Spring MVC框架的整合,其中S ...
- Java基础-SSM之Spring和Mybatis以及Spring MVC整合案例
Java基础-SSM之Spring和Mybatis以及Spring MVC整合案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 能看到这篇文章的小伙伴,详细你已经有一定的Java ...
- spring与mybatis五种整合方法
1.采用数据映射器(MapperFactoryBean)的方式 不用写mybatis映射文件,采用注解方式提供相应的sql语句和输入参数. (1)Spring配置文件: <!-- 引入jdbc ...
- Spring+SpringMVC+MyBatis+Maven框架整合
本文记录了Spring+SpringMVC+MyBatis+Maven框架整合的记录,主要记录以下几点 一.Maven需要引入的jar包 二.Spring与SpringMVC的配置分离 三.Sprin ...
- 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. ...
- OSGI企业应用开发(十五)基于Spring、Mybatis、Spring MVC实现一个登录应用
前面文章中,我们已经完成了OSGI应用中Spring.Mybatis.Spring MVC的整合,本篇文章我们就在这个基础上来完成一个简单的登录应用,其中用户名和密码需要从数据库中查询. 前面文章中, ...
- 搭建Spring + SpringMVC + Mybatis框架之三(整合Spring、Mybatis和Spring MVC)
整合Spring和SpringMVC 之前已经整合了spring和mybatis,现在在此基础上整合SSM. 项目目录: 思路:SpringMVC的配置文件独立,然后在web.xml中配置整合. (1 ...
- spring与mybatis,strut2整合连接sqlserver不的不说的那点事儿
今天在通过spring与mybatis整合中,想连接下公司用的sqlserver数据库,结果使用Junit测发现没连上,于是就有了下面的问题: 准备工作都已经做好了 web中spring的监听配置了 ...
- Mybatis(六):spring与mybatis三种整合方法
1.采用MapperScannerConfigurer,它将会查找类路径下的映射器并自动将它们创建成MapperFactoryBean. spring-mybatis.xml: <?xml ve ...
随机推荐
- idea连接数据库时区错误
错误界面 IDEA连接mysql,地址,用户名,密码,数据库名,全都配置好了,点测试连接,咔!不成功! 界面是这样的, 翻译过来就是:服务器返回无效时区.进入"高级"选项卡,手动设 ...
- PTA7-1 迷宫寻路 (20分)
7-1 迷宫寻路 (20分) 给定一个M行N列的迷宫图,其中 "0"表示可通路,"1"表示障碍物,无法通行.在迷宫中只允许在水平或上下四个方向的通路上行走,走过 ...
- 在随着layui官网下架后 layui镜像站起来了
layui:https://gitee.com/lh_yun/layui 介绍 layui镜像站 「本站仅为 layui 文档保留的镜像站点,与官方无关」 源码地址 在线 pdf 1.主页 https ...
- k8s endpoints controller分析
k8s endpoints controller分析 endpoints controller简介 endpoints controller是kube-controller-manager组件中众多控 ...
- C++概述及知识点总结
经过一段时间的学习,以前从没有接触过C++这个高逼格的语言的小白,逐渐对C++有了更深的了解和认识,C++是c语言的升级版,Bjarne Stroustrup在剑桥大学计算机中心工作.他使用过Simu ...
- python爬取ip地址
ip查询,异步get请求 分析接口,请求接口响应json 发现可以data中获取 result.json()['data'][0]['location'] # _*_ coding : utf-8 _ ...
- [nowcoder5667H]Happy Triangle
可以发现合法的答案有两种可能: 1.询问的$x$即为最大值(或之一),那么只需要找到x前两个数并判断即可 2.询问的$x$不是最大值,那么就要保证另外两边之差小于$x$,维护后缀中$的前驱k-k的前驱 ...
- 回顾Servlet开发
1.建立的文件 2.servlet package com.shao.servlet; import javax.servlet.ServletException; import javax.serv ...
- 【Tool】MySQL卸载
MySQL卸载 2019-11-07 13:23:00 by冲冲 1.停止MySQL服务 右击"计算机" -- "管理" -- 左击"服务和应用程 ...
- 【JavaSE】字符编码和存储编码
字符编码和存储编码 2019-07-15 22:34:51 by冲冲 1. 英文字母和中文汉字在不同字符集编码下的字节数不同. 英文字母 字节数 : 1; 编码:GB2312 字节数 : 1; 编 ...