作为 Java
开发,数据库操作是不可逃避的问题,最原始的方式可能使用JDBC
操作数据库。渐渐的有了对象关系映射
的框架。最让人熟知的有 Hibernate
、Mybitas
。Hibernate
消除了代码的映射规则,开发人员可以将数据库表当对象使用,确实很方便,但是它最大的一个问题是在表关联和复杂的SQL查询支持较差。而Mybitas
是一个款半自动的ORM
框架,开发人员重点关注sql
语句即可,框架解除了sql与程序代码的耦合。基于这样的原因我总结了三种方式通过数据库表逆向生成代码,让使用 Mabitas
的小伙伴的开发效率提高一个台阶。
三种方式
1.1 Idea
插件生成代码
安装Idea
插件 Free Mybatis plugin
,如下图:
如何使用呢?需要在Idea
打开数据库视图,连接数据库。
第一次使用Idea
连接可能会报下面错误:
Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually.
解决方法
查询数据库时区,并设置为东八区。sql语句如下:
show variables like '%time_zone%';
set global time_zone='+8:00';
成功连接如下图:
逆向生成代码
在需要生成表右键
->EasyCode
->Generate Code
就可以生成代码。
根据自己的需要选择生成的代码:
我勾选的所有,最终生成的代码结构如下:
└─code
├─controller
│ OptionsController.java
├─dao
│ OptionsDao.java
├─entity
│ Options.java
└─service
│ OptionsService.java
└─impl
OptionsServiceImpl.java
自定义模板
打开setting
搜索easy
,就可以找到逆向生成代码的模板,如下图:
1.2 Maven
插件生成代码
Maven
项目添加插件(plugin)就可以自动生成代码。
项目引入依赖
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
</plugin>
创建 generatorConfig.xml 文件
在项目资源路径resource
目录创建 generatorConfig.xml
文件,文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<!-- 选择本地的数据库驱动,这里可以搜索本地maven下载的数据库驱动-->
<classPathEntry location="C:\Users\Administrator\.m2\repository\mysql\mysql-connector-java\5.1.42\mysql-connector-java-5.1.42.jar"/>
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressDate" value="true"/>
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--数据库链接,端口,用户名和密码密码 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1:3307/mybitas-gen" userId="root"