MyBatis详解:逆向工程自动生成代码

MyBatis详解:逆向工程自动生成代码

 

目录

MyBatis详解:逆向工程自动生成代码

一、什么是逆向工程

二、下载逆向工程

三、创建java工程

工程结构如下:

log4j文件的内容如下:

四、逆向工程的xml配置文件

4.1、xml配置文件分析

4.2、官网解释 

五、逆向工程主程序

5.1、执行主程序

5.2、生成代码后的工程结构

六、遇到的问题

5.1、时区问题

5.2、把其他数据库的同名表也生成下来


 

 

 

 

 

 

 

 

 

 

 

 


一、什么是逆向工程

MyBatis的一个主要的特点就是需要程序员自己编写sql,那么如果表太多的话,难免会很麻烦,所以mybatis官方提供了一个逆向工程,可以针对单表自动生成mybatis执行所需要的代码(包括mapper.xml、mapper.java、po..)。企业实际开发中,常用的逆向工程方式是通过数据库的表生成java代码。

二、下载逆向工程

使用MyBatis的逆向工程,需要导入逆向工程的jar包,这里给出了逆向工程官网下载的内容以及所需要的jar包的百度云链接。

链接:https://pan.baidu.com/s/1U8gtpFtL5cKafN_XXOLkMg 
提取码:kq0t 

三、创建java工程

使用mybatis的逆向工程来由数据库的表生成java代码最好新建一个java工程或者IDEA新建一个模块。原因在于:如果在你要使用到逆向工所生成的代码的工程中生成代码,会存在风险。因为MyBatis是根据配置文件来生成的(下面会说到),如果生成的路径中有相同的文件,那么就会覆盖原来的文件,这样会有风险。所以开发中一般都会新建一个java工程来生成,然后将生成的文件拷贝到自己的工程中,这也不麻烦,而且很安全。

工程结构如下:

我是用的是IDEA软件,eclipse或MyEclipse也是一样的,下面对工程结构做出一些解释:

generatorConfig.xml:这是逆向工程的xml配置文件,本文使用的方法就是逆向工程的使用xml配置文件的方式来生成代码。我把它直接存放在模块下(eclipse可以直接存放在工程下,存放在哪里并不重要,我们会在主程序中用到该文件的相对路径)

lib:这里存放的是jar包,在上面的百度云链接可以下载到

src:存放的执行程序和log4j.proprerties文件

log4j文件的内容如下:

log4j.rootLogger=DEBUG, Console
#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

四、逆向工程的xml配置文件

4.1、xml配置文件分析

我们是使用xml配置文件的方式来生成代码,故配置文件是最为重要的步骤。

以下的配置文件主要做了4件事:

1、连接数据库,配置数据库的连接信息

2、相关属性设置

3、指定要生成代码的位置,包括po类,mapper.xml和mapper.java这三类代码,一般po类放在po包下,mapper.xml和mapper.java放在mapper包下

4、指定数据库中哪些表要生成代码

 

<?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>
	<context id="testTables" 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值