【SSM 8】spring集成Mybatis通用Mapper
上篇博客中介绍了关于Mybatis底层封装的思路问题,那么这篇博客,就介绍一下怎么引入通用的mapper插件。
备注:本项目通过maven管理
关键版本说明:
spring:4.1.3.RELEASE;Mybatis:3.2.8;mapper:3.3.7;persistence-api:1.0;MySQL:5.1.32
一、添加通用mapper相关依赖
<span style="font-family:KaiTi_GB2312;font-size:18px;"><dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>3.3.7</version>
</dependency>
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>persistence-api</artifactId>
<version>1.0</version>
</dependency></span>
二、配置spring整合
<span style="font-family:KaiTi_GB2312;font-size:18px;"><!-- 配置扫描包,加载mapper代理对象 -->
<bean class="tk.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="Angel.mapper" />
</bean></span>
注意:这里和spring配置扫描mapper文件是一样的,不一样的是,将org.mybatis.......换成了tk.mybatis........
对这一块有疑惑的,可以看看我之前关于SSM的配置总结,例如:【SSM 6】Spring+SpringMVC+Mybatis框架搭建步骤
三、具体应用
3.1,TbUserMapper接口
<span style="font-family:KaiTi_GB2312;font-size:18px;">package Angel.mapper; import tk.mybatis.mapper.common.Mapper;
import Angel.pojo.TbUser; public interface TbUserMapper extends Mapper<TbUser>{ }</span>
3.2,TbUserMapper.xml文件
<span style="font-family:KaiTi_GB2312;font-size:18px;"><?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="Angel.mapper.TbUserMapper" >
<resultMap id="BaseResultMap" type="Angel.pojo.TbUser" >
<id column="id" property="id" jdbcType="BIGINT" />
<result column="username" property="username" jdbcType="VARCHAR" />
<result column="password" property="password" jdbcType="VARCHAR" />
<result column="phone" property="phone" jdbcType="VARCHAR" />
<result column="email" property="email" jdbcType="VARCHAR" />
<result column="created" property="created" jdbcType="TIMESTAMP" />
<result column="updated" property="updated" jdbcType="TIMESTAMP" />
</resultMap> </mapper></span>
在这个里面,没有写任何的方法实现,仅有的代码,是为了避免实体属性名和字段名 不统一而写的。
3.3,userServiceImpl里面的实现(省略接口)
<span style="font-family:KaiTi_GB2312;font-size:18px;">import java.util.List; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import Angel.mapper.TbUserMapper;
import Angel.pojo.TbUser;
import Angel.service.UserService; @Service(value="userService")
public class UserServiceImpl implements UserService { @Autowired
private TbUserMapper userMapper; @Override
public List<TbUser> selectAll() { return userMapper.selectAll();
} } </span>
附:通用接口所提供 的公共方法
从上图可以看出,引入公共mapper 后,已经具有其基础的数据库操作方法。
3.4,UserController文件
<span style="font-family:KaiTi_GB2312;font-size:18px;"> @Autowired
private UserService userService; @RequestMapping("/user/select")
@ResponseBody
public List<TbUser> selectUser() { List<TbUser> list = userService.selectAll(); return list;
}</span>
结果:
四、总结
到这里呢,Mybatis的总结就先告一段落,引入通用mapper之后,方便了很多,大大节省了开发时间。本来是想着自己封装的,但是,发现别人都已经把工作做完了,然后看了看人家的代码和封装的版本变更过程,收获还是挺大的。先拿过来用着吧!希望有一天,我能走在大家的前头,做点贡献!
【SSM 8】spring集成Mybatis通用Mapper的更多相关文章
- spring boot集成MyBatis 通用Mapper 使用总结
spring boot集成MyBatis 通用Mapper 使用总结 2019年 参考资料: Spring boot集成 MyBatis 通用Mapper SpringBoot框架之通用mapper插 ...
- Spring boot集成 MyBatis 通用Mapper
配置 POM文件 <parent> <groupId>org.springframework.boot</groupId> <artifactId>sp ...
- Spring Boot MyBatis 通用Mapper插件集成
Mybatis在使用过程中需要三个东西,每张表对应一个XXMapper.java接口文件,每张表对应一个XXMapper.xml文件,每张表对应一个Entity的Java文件. 其中XXMappe ...
- Spring Boot MyBatis 通用Mapper插件集成 good
看本文之前,请确保你已经在SpringBoot中集成MyBatis,并能正常使用.如果没有,那么请先移步 http://blog.csdn.net/catoop/article/details/505 ...
- Springboot集成mybatis通用Mapper与分页插件PageHelper
插件介绍 通用 Mapper 是一个可以实现任意 MyBatis 通用方法的框架,项目提供了常规的增删改查操作以及 Example 相关的单表操作.通用 Mapper 是为了解决 MyBatis 使用 ...
- Spring Boot MyBatis 通用Mapper 自动生成代码
一.在pom.xml文件中进入mybatis自动生成代码相关的jar包: 注意: <configurationFile>标签中配置的是“generatorConfig.xml”文件位置. ...
- SSM框架开发web项目系列(五) Spring集成MyBatis
前言 在前面的MyBatis部分内容中,我们已经可以独立的基于MyBatis构建一个数据库访问层应用,但是在实际的项目开发中,我们的程序不会这么简单,层次也更加复杂,除了这里说到的持久层,还有业务逻辑 ...
- Spring集成MyBatis的使用-使用Mapper映射器
Spring集成MyBatis使用 前面复习MyBatis时,发现在测试时,需要手动创建sqlSessionFactory,Spring将帮忙自动创建sqlSessionFactory,并且将自动扫描 ...
- 简单易学的SSM(Spring+SpringMVC+MyBatis)整合
SSM(Spring+SpringMVC+MyBatis)的整合: 具体执行过程:1.用户在页面向后台发送一个请求 2.请求由DispatcherServlet 前端控制器拦截交给SpringMVC管 ...
随机推荐
- nginx 目录映射
---恢复内容开始--- 设置目录映射 ---恢复内容结束--- 设置目录映射
- iOS应用之间调用
//// iOS应用之间调用.h// IOS笔记 1.判断系统里是否安装了某个app.比如新浪微博应用注册了URL scheme为@"weibo",我们可以通过[[UIAppl ...
- 学C日志
学C历程 这里记录的都是笔记 忘记了好回头看看~ 提示 :如果在双击自己编译的程序运行时一下就消失不见了 可以在程序代码末尾加上 system("pause"); 程序就会等待到输 ...
- (转) 变分自编码器(Variational Autoencoder, VAE)通俗教程
变分自编码器(Variational Autoencoder, VAE)通俗教程 转载自: http://www.dengfanxin.cn/?p=334&sukey=72885186ae5c ...
- TCP/IP BOOKS
TCP/IP Fundamentals for Microsoft Windows: Overview https://technet.microsoft.com/en-us/library/bb72 ...
- Python>>>The Very First Step
Windows官网下载 python-2.7.13.amd64.msi 默认会安装pip,同是把设置环境变量也选中 安装第三方包: pip install pygame 确认已经正确安装的方法:1.完 ...
- Java-接口和抽象类区别
在类的设计中,需要明确一个原则,一个类不要去继承一个已经实现好的类,只能继承抽象类或实现接口,如果接口和抽象类都可以使用,那么优先使用接口,避免继承局限
- ubuntu12.04+Elasticsearch2.3.3伪分布式配置,集群状态分片调整
目录 [TOC] 1.什么是Elashticsearch 1.1 Elashticsearch介绍 Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎.能够快速搜索数 ...
- Redis -- 01 入门
1. Redis是什么 与memcached 和 couchbase类似,redis是非常快速的基于内存的键值数据库,使用标准c编写,是使用最广泛的缓存中间件.利用Redis提供的五种基本数据类型(S ...
- delphi 动态更改屏幕分辨率(转)
一.如何动态更改屏幕分辨率 有许多小工具可以在不重新启动Windows的条件下,动态更改屏幕分辨率.你是不是也想自己动手做一个呢?请在interface段中加入下面一句 function Resolu ...