上篇博客中介绍了关于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的更多相关文章

  1. spring boot集成MyBatis 通用Mapper 使用总结

    spring boot集成MyBatis 通用Mapper 使用总结 2019年 参考资料: Spring boot集成 MyBatis 通用Mapper SpringBoot框架之通用mapper插 ...

  2. Spring boot集成 MyBatis 通用Mapper

    配置 POM文件 <parent> <groupId>org.springframework.boot</groupId> <artifactId>sp ...

  3. Spring Boot MyBatis 通用Mapper插件集成

    Mybatis在使用过程中需要三个东西,每张表对应一个XXMapper.java接口文件,每张表对应一个XXMapper.xml文件,每张表对应一个Entity的Java文件.   其中XXMappe ...

  4. Spring Boot MyBatis 通用Mapper插件集成 good

    看本文之前,请确保你已经在SpringBoot中集成MyBatis,并能正常使用.如果没有,那么请先移步 http://blog.csdn.net/catoop/article/details/505 ...

  5. Springboot集成mybatis通用Mapper与分页插件PageHelper

    插件介绍 通用 Mapper 是一个可以实现任意 MyBatis 通用方法的框架,项目提供了常规的增删改查操作以及 Example 相关的单表操作.通用 Mapper 是为了解决 MyBatis 使用 ...

  6. Spring Boot MyBatis 通用Mapper 自动生成代码

    一.在pom.xml文件中进入mybatis自动生成代码相关的jar包: 注意: <configurationFile>标签中配置的是“generatorConfig.xml”文件位置. ...

  7. SSM框架开发web项目系列(五) Spring集成MyBatis

    前言 在前面的MyBatis部分内容中,我们已经可以独立的基于MyBatis构建一个数据库访问层应用,但是在实际的项目开发中,我们的程序不会这么简单,层次也更加复杂,除了这里说到的持久层,还有业务逻辑 ...

  8. Spring集成MyBatis的使用-使用Mapper映射器

    Spring集成MyBatis使用 前面复习MyBatis时,发现在测试时,需要手动创建sqlSessionFactory,Spring将帮忙自动创建sqlSessionFactory,并且将自动扫描 ...

  9. 简单易学的SSM(Spring+SpringMVC+MyBatis)整合

    SSM(Spring+SpringMVC+MyBatis)的整合: 具体执行过程:1.用户在页面向后台发送一个请求 2.请求由DispatcherServlet 前端控制器拦截交给SpringMVC管 ...

随机推荐

  1. nginx 目录映射

    ---恢复内容开始--- 设置目录映射 ---恢复内容结束--- 设置目录映射

  2. iOS应用之间调用

    ////  iOS应用之间调用.h//  IOS笔记 1.判断系统里是否安装了某个app.比如新浪微博应用注册了URL scheme为@"weibo",我们可以通过[[UIAppl ...

  3. 学C日志

    学C历程 这里记录的都是笔记 忘记了好回头看看~ 提示 :如果在双击自己编译的程序运行时一下就消失不见了 可以在程序代码末尾加上 system("pause"); 程序就会等待到输 ...

  4. (转) 变分自编码器(Variational Autoencoder, VAE)通俗教程

    变分自编码器(Variational Autoencoder, VAE)通俗教程 转载自: http://www.dengfanxin.cn/?p=334&sukey=72885186ae5c ...

  5. TCP/IP BOOKS

    TCP/IP Fundamentals for Microsoft Windows: Overview https://technet.microsoft.com/en-us/library/bb72 ...

  6. Python>>>The Very First Step

    Windows官网下载 python-2.7.13.amd64.msi 默认会安装pip,同是把设置环境变量也选中 安装第三方包: pip install pygame 确认已经正确安装的方法:1.完 ...

  7. Java-接口和抽象类区别

    在类的设计中,需要明确一个原则,一个类不要去继承一个已经实现好的类,只能继承抽象类或实现接口,如果接口和抽象类都可以使用,那么优先使用接口,避免继承局限

  8. ubuntu12.04+Elasticsearch2.3.3伪分布式配置,集群状态分片调整

    目录 [TOC] 1.什么是Elashticsearch 1.1 Elashticsearch介绍 Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎.能够快速搜索数 ...

  9. Redis -- 01 入门

    1. Redis是什么 与memcached 和 couchbase类似,redis是非常快速的基于内存的键值数据库,使用标准c编写,是使用最广泛的缓存中间件.利用Redis提供的五种基本数据类型(S ...

  10. delphi 动态更改屏幕分辨率(转)

    一.如何动态更改屏幕分辨率 有许多小工具可以在不重新启动Windows的条件下,动态更改屏幕分辨率.你是不是也想自己动手做一个呢?请在interface段中加入下面一句 function Resolu ...