第一步:创建数据库

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. 攻防世界 Misc 新手练习区 ext3 bugku Writeup

    攻防世界 Misc 新手练习区 ext3 bugku Writeup 题目介绍 题目考点 WinHex工具的使用 linux磁盘挂载mount命令 Writeup 下载附件拖进winhex分析一下,查 ...

  2. JS数据类型转换问题

    一.数据类型的转换 数据类型的转换方法 强制转换(显示转换,主动转换) 字符转数值 parseInt(要转换的数值或变量) 转整数 从左向右依次转换,遇到第一个非数字的字符,停止转换 忽略小数点后的内 ...

  3. initNativeTransServiceId . ntrans:object componentId :-368613127 微信小程序

    二维码打开的页面是否存在 注意:体验版二维码默认路径是 pages/index/index 我的因为分包的原因调整了首页路径 所以路径是pages/tabBar/search/search 如果不是这 ...

  4. String你会用吗?

    1. 如果不是在循环体中进行字符串拼接的话,直接使用 String 的 "+" 就好了. 2. 单线程循环中操作大量字符串数据 → StringBuilder.append() 3 ...

  5. C#环境变量配置及csc命令详解(转自cy88310)

     C#环境变量设置步骤: 在桌面右击[我的电脑]->[属性]->[高级]->[环境变量] 在下面的系统变量栏点击"新建" 变量名输入"csc" ...

  6. [atARC077F]SS

    (以下字符串下标从0开始,并定义$2s=s+s$) 考虑$f(S)$,即令$l=\max_{2i<|S|且S[0,i)=S[|S|-i,|S|)]}i$,则$f(S)=S+S[l,|S|-l)$ ...

  7. CF814E An unavoidable detour for home

    考虑有每个最短路只有一条. 那么我们建出最短路树后,显然所有的非树边都是同层之间的横叉边. 那么我们考虑设\(f(i,j,k,z)\)为我们考虑到了第\(i\)个点,此时他被我们分配到了\(p\)层, ...

  8. 快读模板 + #define 压缩for

    快读是一个很重要的模板 #define 压缩for是为了代码的简洁 这里贴一下模板 #define f(i , a , b) for(int i=(a) ; i <= (b) ; i++) us ...

  9. Python 包管理工具 pip 与 conda

    简介 pip是接触 python 后最早认识的包管理工具.通过使用 pip 能够自动下载和解决不同 python 模块的依赖问题,使 python 的配置过程变得简单. 与 pip 类似,conda ...

  10. Anaconda建立新的环境,出现CondaHTTPError: HTTP 000 CONNECTION FAILED for url ...... 解决过程

    2020.3.7准备scrapy,使用anaconda创建一个新的环境,执行"conda create -n scrapyEnv python=3.6",结果出现了"Co ...