整合mybatis+spring项目。
目录
- 使用环境
- MySQL
- Maven
- Mybatis
- 配置文件(非常重要)
- Spring
- 整体结构
- 测试
使用环境
jdk1.8
MySQ5.6
Maven3.3.6
MySQL
- 创建一个user表
CREATE DATABASE `mybatis`;USE `mybatis`;CREATE TABLE `user` (
`id` int(20) NOT NULL,
`name` varchar(30) DEFAULT NULL,
`pwd` varchar(30) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO `user`('id','name','pwd') VALUES ('0', null, null),('1', '花花', '123456'),('2', '鹿鸣', '889977'),('3', '咕噜', '123456'),('5', '李武', '898989'),('6', '李继', '636363');
Maven
创建一个Maven项目
导入整合项目所需要的jar包
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>spring-study</artifactId><groupId>com.kuang</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>spring-10-mybatis</artifactId><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><dependencies>
<!-- junit--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency>
<!-- mysql--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependency>
<!-- mybatis--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.2</version></dependency>
<!-- spring--><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.2.0.RELEASE</version></dependency>
<!-- --><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.1.9.RELEASE</version></dependency>
<!-- aspectj AOP 织入器--><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.9.4</version></dependency>
<!-- mybatis-spring整合包*--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.0.2</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.10</version></dependency></dependencies><!-- 配置Maven静态资源过滤问题--><build><resources><resource><directory>src/main/java</directory><includes><include>**/*.xml</include><include>**/*.properties</include></includes><filtering>true </filtering></resource><resource><directory>src/main/resources</directory><includes><include>**/*.xml</include><include>**/*.properties</include></includes></resource></resources></build>
</project>
Mybatis
- 创建实体类User
package com.kuang.pojo;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {private int id;private String name;private String pwd;}
- 编写实体类接口UserMapper
package com.kuang.mapper;import com.kuang.pojo.User;import java.util.List;public interface UserMapper {public List<User> selectUser();}
- 编写实体类接口的映射文件UserMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.kuang.mapper.UserMapper"><select id="selectUser" resultType="user">select * from mybatis.user;</select></mapper>
配置文件(非常重要)
- Mybatis-config.xml(Mybatis最初的配置文件,已把核心配置文件转交给spring-dao.xml中)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><typeAliases><package name="com.kuang.pojo"/></typeAliases>
</configuration>
- spring-dao.xml(整合项目的核心文件)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/schema/aop"xsi:schemaLocation="http://www.springframework.org/schema/beanshttps://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/aophttps://www.springframework.org/schema/aop/spring-aop.xsd"><!-- DataSource:使用Spring的数据库替换Mybatis的位置这里使用Spring提供的jdbc : org.springframework.jdbc.datasource--><bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName" value="com.mysql.jdbc.Driver"/><property name="url"value="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8&useSSL=false"/><property name="username" value="root"/><property name="password" value="123456"/></bean><!-- sqlSessionFactory 关联Mybatis--><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource"/><!-- 绑定mybatis配置文件--><property name="configLocation" value="classpath:Mybatis-config.xml"/><property name="mapperLocations" value="classpath:com/kuang/mapper/*.xml"/></bean><!-- SqlSessionTemplate;就是我们使用的sqlSession--><bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"><!-- 只能使用构造器注入sqlSessionFactory,因为它没有set方法--><constructor-arg index="0" ref="sqlSessionFactory"/></bean></beans>
- applicationContext.xml(每一个spring文件都要在这里注册)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/schema/aop"xsi:schemaLocation="http://www.springframework.org/schema/beanshttps://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/aophttps://www.springframework.org/schema/aop/spring-aop.xsd"><import resource="spring-dao.xml"/><bean id="userMapper" class="com.kuang.mapper.UserMapperImpl"><property name="sqlSession" ref="sqlSession"/></bean><bean id="userMapper02" class="com.kuang.mapper.UserMapperImpl02"><property name="sqlSessionFactory" ref="sqlSessionFactory"/></bean></beans>
Spring
**这里有两种实现方式**
1.增加Dao接口的实现类 UserMapperImpl
package com.kuang.mapper;import com.kuang.pojo.User;
import org.mybatis.spring.SqlSessionTemplate;import java.util.List;public class UserMapperImpl implements UserMapper {//所有的操作,都使用sqlSession来执行,在原来,现在都使用SqlSessionTemplateprivate SqlSessionTemplate sqlSession;public void setSqlSession(SqlSessionTemplate sqlSession) {this.sqlSession = sqlSession;}@Overridepublic List<User> selectUser() {UserMapper userMapper = sqlSession.getMapper(UserMapper.class);return userMapper.selectUser();}}
- UserMapperImpl02
package com.kuang.mapper;import com.kuang.pojo.User;
import org.mybatis.spring.support.SqlSessionDaoSupport;import java.util.List;public class UserMapperImpl02 extends SqlSessionDaoSupport implements UserMapper {@Overridepublic List<User> selectUser() {return getSqlSession().getMapper(UserMapper.class).selectUser();}}
整体结构
测试
- MyTest
import com.kuang.mapper.UserMapper;
import com.kuang.pojo.User;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.io.IOException;public class MyTest {@Testpublic void test() throws IOException{ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");UserMapper userMapper = context.getBean("userMapper",UserMapper.class);for(User user : userMapper.selectUser()){System.out.println(user);}}
}
- UserMapperImpl02和这个运行结果是一样的!
- 测试成功
-------狂神说&鹿鸣
整合mybatis+spring项目。相关推荐
- Spring整合mybatis完整项目
之前没有接触过mybatis,突然有个小项目需要改一下,突击了几天,整理了一下这几天的成果,备忘. 首先是配置文件 <?xml version="1.0" encoding= ...
- 【第三方对接】使用 PageOffice 实现在线 Office 整合到 Spring 项目
文章目录 1.PageOffice 实现在线 Office (1)PageOffice 介绍 (2)项目需求对比 (3)基本整合过程 (4)调用逻辑图 (5)实际使用案例 微信公众号 1.PageOf ...
- Spring Boot 整合MyBatis(23)
Spring Boot 整合MyBatis Spring Boot 整合 Druid 引入依赖 配置 application.yml pring Boot 整合 tk.mybatis 引入依赖 配置 ...
- Spring Boot入门系列(十八)整合mybatis,使用注解的方式实现增删改查
之前介绍了Spring Boot 整合mybatis 使用xml配置的方式实现增删改查,还介绍了自定义mapper 实现复杂多表关联查询.虽然目前 mybatis 使用xml 配置的方式 已经极大减轻 ...
- 干货必看|Spring Boot整合MyBatis框架详解
在开发中,我们通常会对数据库的数据进行操作,Sprirng Boot对关系型数据库和非关系型数据库的访问操作都提供了非常好的整合支持.所以今天壹哥就给大家讲解一下,如何在SpringBoot环境中整合 ...
- 2021-5-10:Spring Boot整合MyBatis
Spring Boot整合MyBatis Spring Boot 整合MyBatis (一)基础环境搭建 1.数据准备 创建数据库.数据表并插入一定的数据 (1)创建博客数据库blog 在Navica ...
- spring Boot 2 基础篇 。内含 整合一个spring boot 的 小案例
目录 springBoot2基础篇 前言与开发环境 一.快速创建Boot项目 1.使用spring提供的快速构建 2.基于maven的手动构建 3.在Idea中隐藏指定文件/文件夹 二.SpringB ...
- VUE+Spring Boot整合MyBatis实现前后端分离项目壁纸网站
目录 前言 一.项目运行 二.环境需要 三.技术栈 四.项目说明 五.后端代码 前言 每次换桌面,壁纸总是不好找,搜索图片得不到好的索引与反馈,很难找到自己喜欢的壁纸,而壁纸网站可以免去我们去寻找壁纸 ...
- 【Spring从入门到出家】6 -声明式事务(完整项目版-整合Mybatis)
文章目录 11 声明式事务 11.1 建立测试环境 10.2 Spring配置声明式事务 10.3 事务转播特性 11 声明式事务 11.1 建立测试环境 我们要建立如下的项目结构 数据库spring ...
最新文章
- 我们每天都在做无用功?
- 《Web安全之机器学习入门》一 2.2 TensorFlow简介与环境搭建
- windows环境下bat和python调用rysnc的方式
- iframe框架大小自适应
- hawq state 报错: the database is down, but Ambari shows all hawq services as being
- pytorch torch.nn.L1Loss
- 关于div+css布局值得注意的地方
- Django中的templates(你的HTML页面放哪里)
- Atitit 获取本机图像设备视频设备列表 设备检索列表解决方案
- python pyhook监听扫码_Python2.7:使用Pyhook模块监听鼠标键盘事件-获取坐标实例
- IDEA光标跟随原因是jdk载入的问题BUG 修正 需要I安装最新版本1.8JDK 1.9之后的不清楚 谨慎...
- 分数的表示、化简以及输出
- tomcat 报错 Status 500 - Mapper method ‘xxxxx‘ has an unsupported return type: class xxx
- BZOJ4316 小C的独立集 【仙人掌】
- 【饮食的迷思--人类必看的真正的饮食长寿指南--来自英国国王学院顶级遗传性流行病教授】---智人必须会的生活技能 by Tim Spector--饮食的迷思
- 数据的导出Excel表
- 微信小程序-后台使用富文本编辑器返回数据,小程序编译富文本编辑器返回的数据
- 点击a标签弹出iframe_iframe标签与a标签
- training@USC 12 2
- 中关村工业互联网产业联盟成立大会成功召开