Mybatis插件介绍

目录

  • Mybatis Generator
  • MyBatipse
    • 问题一
    • 问题二
    • 问题三
    • 问题四
  • Mybatis 3
    • 使用生成的Example类简化操作

Mybatis 官网提供了很多Mybatis的项目、Mybatis和其他框架集成的依赖包(包括和Spring Boot等),详细的信息可以在官网上查询,这篇文章只介绍常用几个项目。

项目 描述 文档或插件
MyBatis 3 SQL Mapping Framework for Java 文档链接
Generator Code generator for MyBatis 文档链接/Eclipse插件
MyBatipse Eclipse plugin for MyBatis Eclipse插件

Mybatis Generator

在正式介绍Mybatis框架之前,新介绍官方提供的两个插件的用途和用法,但是如果读者之前完全没有接触过Mybatis,可以先跳到第三章了解Mybatis框架后再回头看这里提供的工具,会发现工具在很大程度上减轻了开发的工作量。

Mybatis Generator是一个代码生成器,根据指定的xml文件可以生成对应的代码。详细的xml文件参数可以查阅文档,这里介绍常用的几个参数。



<generatorConfiguration>
    <classPathEntry location="E:\\huyp\\workspace2\\Mybaits_20161208\\libs\\mysql-connector-java-5.1.35.jar" /> 

    <context id="context1">

        <jdbcConnection
            connectionURL="jdbc:mysql://localhost:3306/db_spring"
            driverClass="com.mysql.jdbc.Driver" password="" userId="root" />

        <javaModelGenerator targetPackage="huyp.spring.dao.entity"
            targetProject="SpringLearning/src/main/java" />

        <sqlMapGenerator targetPackage="dao" targetProject="SpringLearning/src/main/resources" />

        <javaClientGenerator targetPackage="huyp.spring.dao.mapper"
            targetProject="SpringLearning/src/main/java" type="XMLMAPPER" />

        <table schema="db_spring" tableName="USER">table>

    context>

generatorConfiguration>
节点 描述
classPathEntry 数据库的JDBC驱动的jar包地址
context 每个不同的数据源在自己的context中进行配置,如果连接多个数据源,可以配置多个context
jdbcConnection 数据库连接的信息:驱动类、连接地址、用户名、密码
javaModelGenerator 生成Model类(实体类)存放位置,Mybatis默认生成的实体类类名就是表名
sqlMapGenerator 生成xml映射文件的存放位置
javaClientGenerator 生成Dao接口(和xml映射文件对应的接口)的存放位置
table 要生成文件对应的表,schema是数据库名,tableName是表名

到现在为止,Mybatis Generator的最基本的配置已经配置完成,在Eclipse中安装了插件之后就可以右键执行以下这个文件,如果配置正确会发现项目中在相应的位置多出四个文件:

Mybatis插件介绍_第1张图片

User就是数据库中USER表对应的实体类,UserMapper是对应的接口文件,UserMapper.xml就是对应的SQl文件;这里还有一个UserExample,这个是Mybatis Generator生成的具有一些默认操作,增、删、改和查等操作的默认执行方法,具体的大家可以查看生成的Example文件。后面介绍框架的时候会介绍Example类的使用。

官网还提供了很多个性化的配置,详细大家清查阅官网,后期如果使用了其他的参数会更新这个文档~

MyBatipse

这个工具一定是要在使用Mybatis开发一段时间后,才会对它带来的方便之处感激涕零。
功能点:

问题一

当你对某个表的操作非常复杂,在Mapper接口写了很多的方法,意味着在对应的xml文件中也会存在大量的SQL语句,这个时候你想查找到接口中方法对应的SQL是非常烦人的!

解决:使用这个工具,你可以在方法上直接跳转到对应的SQl位置:
右击接口中的方法,会出现跳转选项,如下图:

甚至可以在调用这个方法的地方直接跳转,如下图:

点击后,将会直接条状到SQl语句对应的位置,如下图:

问题二

在Eclipse中使用快捷键Alt+/可以自动补全,是不是觉得很方便,但是在xml映射文件中却无法对类和变量进行自动补全。

解决:使用这个工具,你可以在xml文件中也享受到自动补全的快感啦!
定义resultMap,如下图:



我觉得还是不够方便,我不想一个一个写,我要一次性完成一个resultMap,如下图:

定义一个select语句(其他的操作语句同理),如下图:





自从用了这个工具,妈妈再也不用担心我写错变量名,写错变量类型啦!
当然,如果你不使用XML文件,而是采用注解的方式,上面所说的所有的补全方式也是适用的哟!

问题三

有的时候一个SQL的查询条件特别多,那么接口中方法的参数也特别多,这个时候给每个参数加上@Param注解是一件非常烦人的事情。

解决:使用这个工具,你可以一个快捷键搞定所有的参数!
用鼠标点击一下接口中的方法,然后按下Ctrl+1快捷键,将会弹出一个提示,如下图:

点击最上面的添加注解,你会发现麻烦事瞬间完成!如下图:

问题四

有的时候我们会验证SQL语句执行的结果是否正确,可能会从日志中将打印出的SQL语句拿到数据库去执行一下,但是你会发现日志中是这样的,如下图

这里写图片描述

然后我们要把第一行复制到数据库中,然后再把第二行复制到问号的位置,而且还要加上引号,最后才能执行这句SQl,现在是一个参数,如果是几个,十几个呢,整个人处于崩溃的边缘!

解决:使用这个工具,你可以畅快的复制日志中的SQL语句,然后复制到数据库中,愉快的执行啦!
首先复制日志中的SQl语句, 注意: 要从第一个 ==>符号复制到最后一个<==符号,然后右击鼠标,会出现下面这个选项,如下图:

Mybatis插件介绍_第2张图片

然后复制到数据库中,你就会发现自动转换了,如下图:

这里写图片描述

惊不惊喜??意不意外!!

到目前为止,以上的两个工具的常用功能基本介绍完毕,是不是感觉学Mybatis的动力大了许多许多!!!

Mybatis 3

因为时间关系,Mybatis框架部分会再之后更新,感兴趣的小伙伴记得收藏这篇文章哟!嘿嘿嘿~

使用生成的Example类简化操作

你可能感兴趣的:(#,java开发)