不再需要写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. RHEL7配置本地yum源
  2. math 向上取整_自我说明:关于Math和File类的具体说明.
  3. 二叉树中进行 BFS 和图中进行 BFS 最大的区别
  4. php7.1 mysql_安装最新LAMP环境 (CentOS7+PHP7.1.5+Mysql5.7)
  5. sql server计算日期到当前日期天数_Excel必学的7个计算日期间隔差的技巧
  6. 联想小新触摸板驱动_联想lenovo笔记本触摸板驱动-联想触摸驱动 win7版下载16.2.5.0 官方版-西西软件下载...
  7. 施乐s2110进入维修模式_施乐进入维修模式步骤
  8. sql——手机号码归属地、身份证前六位归属地、省市区级联
  9. 【Int. J. Mol. Sci.】黄瓜液泡转化酶基因CsVI1参与对低温胁迫的响应和己糖积累
  10. Python 算法:线性回归及相关公式推导
  11. 串口console乱码_串口打印机不能打印或打印乱码
  12. js弹幕脚本(基于油猴)
  13. 百度百聘企业简单信息获取
  14. netcat 下载地址
  15. IntelliJ IDEA JDK配置
  16. AVI 文件格式分析
  17. 雅虎与谷歌合作后的十种景象 鲍尔默或将离职
  18. 锚点定位 跳转到指定位置 回到顶部功能
  19. shp矢量数据打包压缩
  20. 我喜欢你是寂静的--聂鲁达

热门文章

  1. MJ0011技术分析:细数3721(雅虎助手)两年来的流氓升级史
  2. python3学习之路 -- 7)初级练习4 - 支付密码、账号、价格竞猜、星座
  3. 成功科学家如何读文献
  4. 防止开发人员开发后门程序,数据库安全之应用程序调用的危险
  5. CPU漏洞补丁修复导致KeServiceDescriptorTable获取变更
  6. ios与mac的时间问题,修改闹钟时间,24小时制
  7. 单片机的就业前景怎么样?薪资待遇如何?
  8. 函授计算机应用基础答案,全国高等教育自学考试计算机应用基础试题
  9. ad中使用智能粘贴_AD10 复制问题(复制方法和智能粘贴 拼版)
  10. gitlab默认加密方式