不再需要写mapper文件 替我们生成常用的增删改查的sql语句
注意:是根据pojo类生成的sql语句 默认规则是pojo类首字母小写作为表名(可以用@Table(name = )注解改名)

使用前的配置:
需要配置tk包下定义的MapperScannerConfigurer   写一个mapper接口 继承 Mapper 范型是你的pojo  即可!~@column注解:默认规则是驼峰字段名变成下划线形式  可以用这个注解来自定义**内置的方法**
selectone:传入一个对象进行查询 根据你提供的pojo有值的字段来生成的where子句(非null的字段 所以不允许写基本类型) 生成的条件是用 = 来比较的select:传入一个没有赋值字段名的pojo 查询全部数据selectByPrimaryKey : 传入一个int类型  注意要使用@id注解标志哪个字段是主键 否则会全部字段变成联合主键进行查询insert:插入对象 可以用@GeneratedValue(strategy = GenerationType.IDENTITY) 来返回自动生成的主键到用来插入的pojo中insertSelective:实体类中的非主键字段并且是null的值不会放在insert语句中updateByPrimaryKey :根据主键进行更新delete  deleteByprimaryKey 同理

**

QBC查询

所有的带有example的方法 可以解决复杂的查询条件的封装
**

例如selectByExample方法的使用:
(1)new Example ()。createCriteria()
(2)调用andGreaterThan andLike等方法
(3)可以调用两个createCriteria  用example.or(criteria2)来用or条件链接两个criteria对象
(4)调用通用mapper的selectByExample方法

**

通用mapper的逆向工程

**

pom.xml中的配置:
<properties><!-- ${basedir}引用工程根目录 --><!-- targetJavaProject:声明存放源码的目录位置 --><targetJavaProject>${basedir}/src/main/java</targetJavaProject><!-- targetMapperPackage:声明MBG生成XxxMapper接口后存放的package位置 --><targetMapperPackage>com.公司名.shop.mappers</targetMapperPackage><!-- targetModelPackage:声明MBG生成实体类后存放的package位置 --><targetModelPackage>com.公司名.shop.entities</targetModelPackage><!-- targetResourcesProject:声明存放资源文件和XML配置文件的目录位置 --><targetResourcesProject>${basedir}/src/main/resources</targetResourcesProject><!-- targetXMLPackage:声明存放具体XxxMapper.xml文件的目录位置 --><targetXMLPackage>mappers</targetXMLPackage><!-- 通用Mapper的版本号 --><mapper.version>4.0.0-beta3</mapper.version><!-- MySQL驱动版本号 --><mysql.version>5.1.37</mysql.version>
</properties>
<dependencies><dependency><groupId>tk.mybatis</groupId><artifactId>mapper</artifactId><version>4.0.0-beta3</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.2.8</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency>
</dependencies>
<build><plugins><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.2</version><!-- 配置generatorConfig.xml配置文件的路径 --><configuration><configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile><overwrite>true</overwrite><verbose>true</verbose></configuration><!-- MBG插件的依赖信息 --><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency><dependency><groupId>tk.mybatis</groupId><artifactId>mapper</artifactId><version>${mapper.version}</version></dependency></dependencies></plugin></plugins>
</build>需要一个properties配置文件:config.properties
# Database connection information
jdbc.driverClass = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/common_mapper
jdbc.user = root
jdbc.password = root#c3p0
jdbc.maxPoolSize=50
jdbc.minPoolSize=10
jdbc.maxStatements=100
jdbc.testConnection=true# mapper
mapper.plugin = tk.mybatis.mapper.generator.MapperPlugin
mapper.Mapper = tk.mybatis.mapper.common.Mapper
# Database connection information
jdbc.driverClass = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/common_mapper
jdbc.user = root
jdbc.password = root#c3p0
jdbc.maxPoolSize=50
jdbc.minPoolSize=10
jdbc.maxStatements=100
jdbc.testConnection=true# mapper
mapper.plugin = tk.mybatis.mapper.generator.MapperPlugin
mapper.Mapper = tk.mybatis.mapper.common.Mapper还需要一个xml:generatorConfig.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration><!-- 引入外部属性文件 --><properties resource="config.properties" /><context id="Mysql" targetRuntime="MyBatis3Simple"defaultModelType="flat"><property name="beginningDelimiter" value="`" /><property name="endingDelimiter" value="`" /><!-- 配置通用Mapper的MBG插件相关信息 --><plugin type="${mapper.plugin}"><property name="mappers" value="${mapper.Mapper}" /></plugin><!-- 配置连接数据库的基本信息 --><jdbcConnection driverClass="${jdbc.driverClass}"connectionURL="${jdbc.url}" userId="${jdbc.user}" password="${jdbc.password}"></jdbcConnection><!-- 配置Java实体类存放位置 --><javaModelGenerator targetPackage="${targetModelPackage}"targetProject="${targetJavaProject}" /><!-- 配置XxxMapper.xml存放位置 --><sqlMapGenerator targetPackage="${targetXMLPackage}"targetProject="${targetResourcesProject}" /><!-- 配置XxxMapper.java存放位置 --><javaClientGenerator targetPackage="${targetMapperPackage}"targetProject="${targetJavaProject}" type="XMLMAPPER" /><!-- 根据数据库表生成Java文件的相关规则 --><!-- tableName="%"表示数据库中所有表都参与逆向工程,此时使用默认规则 --><!-- 默认规则:table_dept→TableDept --><!-- 不符合默认规则时需要使用tableName和domainObjectName两个属性明确指定 --><table tableName="tabple_emp" domainObjectName="Employee"><!-- 配置主键生成策略 --><generatedKey column="emp_id" sqlStatement="Mysql" identity="true" /></table></context>
</generatorConfiguration>

通用mapper归纳相关推荐

  1. Mybatis之通用Mapper使用

    增加Maven依赖 <!-- mybatis 通用mapper --> <dependency><groupId>tk.mybatis</groupId> ...

  2. MyBatis 为什么需要通用 Mapper ?

    一.通用 Mapper 的用途 ? 我个人最早用 MyBatis 时,先是完全手写,然后用上了 MyBatis 代码生成器(简称为 MBG),在使用 MBG 过程中,发现一个很麻烦的问题,如果数据库字 ...

  3. Mybatis 通用 Mapper 使用 ①

    简介 官网链接:https://mapperhelper.github.io/docs/ 通用Mapper都可以极大的方便开发人员.可以随意的按照自己的需要选择通用方法,还可以很方便的开发自己的通用方 ...

  4. MyBatis 通用Mapper 入门教程

    通用Mapper 简单教程 Mapper 项目地址: [http://git.oschina.net/free/Mapper] 本教程代码地址: [https://github.com/oakshar ...

  5. 如何使用通用Mapper

    集成方法请看上面的文档,集成后,可以继续阅读本页文档. 1. 继承通用的Mapper<T>,必须指定泛型<T> 例如下面的例子: public interface UserIn ...

  6. Mybatis通用Mapper

    极其方便的使用Mybatis单表的增删改查 项目地址:http://git.oschina.net/free/Mapper 优点? 不客气的说,使用这个通用Mapper甚至能改变你对Mybatis单表 ...

  7. SpringBoot整合Mybatis,使用通用mapper和PageHelper进行分页

    乐哉码农 上节介绍了如何整合Security,这节就说下如何再Springboot下使用持久层框架mybatis和牛人封装的通用mapper与mybatis的整合,直接进入正题吧! 1.首先引入我们需 ...

  8. 通用mapper和分类实现

    1 通用Mapper 1.1 通用Mapper介绍 1.1.1 架构设计 说明:使用了通用Mapper后,单表的增删改查操作会自动的进行维护. 问题:如何才能实现数据的通用并且是动态的? 1.2 JP ...

  9. spring boot整合mybatis+通用mapper+pagehelper分页插件

    spring boot整合mybatis+通用mapper+pagehelper分页插件 pom依赖 <?xml version="1.0" encoding="U ...

最新文章

  1. 【iCore组合式双核心开发板教程】通过STM32 FSMC 读写FPGA Verilog 例子
  2. 关键七步,用Apache Spark构建实时分析Dashboard
  3. 福昕阅读器drm加密解密总结
  4. 人工智能诗歌写作平台_智能写作VS人工写作,Giiso写作机器人解放你的创造力...
  5. mysql 检查点_my05_mysql检查点简述
  6. js手机号中间四位_11位手机号码隐藏中间四位数,学会Substitute函数一键搞定!...
  7. discuz 表结构
  8. java socket程序应用_socket应用小程序
  9. 2014年工作中遇到的20个问题:161-180
  10. 重大危机引发的公司经营战略问题回顾
  11. 怎样才能通过c语言二级考试,如何一次就通过全国计算机二级C语言考试,高分技巧四部曲...
  12. 通过代理下载Google Code
  13. 华为鸿蒙内涵,“鸿蒙”两个字有何真意,还得让古人来解读
  14. educoder——面向对象程序设计java——第三阶段-Java 高级特性——Java 集合框架
  15. EMC、Pure和NetApp推新品,NAS闪存场景在哪里
  16. 每年工作日与非工作日的设置
  17. 基于C#Winform+MySQL的商务娱乐会馆自助服务系统
  18. win2003 64位 企业版 (win 2003_r2_enterprise_x64.iso)下载地址
  19. 微信屏蔽网页的依据是什么?
  20. js中当等于最小值是让代码不执行_28 个JavaScript编程黑科技,装逼指南,高逼格代码,让你惊叹不已...

热门文章

  1. 惠普m180n故障码04_HP打印机错误代码及解决方法
  2. 继电器逻辑在控制系统中的应用
  3. onenote2007 设置行间距
  4. linux下w5500驱动程序,W5500驱动函数库.pdf
  5. rstp要点1:端口优先级为什么是16的倍数
  6. 致曾经的老游戏天下霸图1——重写天下霸图计划
  7. 大气污染扩散模型Calpuff
  8. 我有八千元,买苹果手机还是安卓呢?
  9. 【STM32】详解超声波测距模块工作原理
  10. 【Java中的Web容器】