逆向工程?
mybatis的一个主要的特点就是需要程序员自己编写sql,如果表太多的话,会很麻烦,所以mybatis官方提供了一个逆向工程,可以针对单表自动生成mybatis执行所需要的代码(包括mapper.xml、mapper.java、po..)。一般在开发中,常用的逆向工程方式是通过数据库的表生成代码。
逆向工程的jar包下载
点击下载逆向工程 mybatis-generator-core jar包
进去之后 点击那个 Download……就行,就是下图中圈出来的那个。
项目结构
这里说一下,这是项目最终的结构了,在最初,只需要在 src 下面建立一个包,再在这个包下建立一个最后我们要运行的java文件即可,我这里是 GeneratorSqlmap.java ,那些com.mybatis.mapper和com.mybatis.po都是我们运行刚才的java文件后自动生成的,下面会说一下。
项目完整配置过程
1
导入所需jar包,大体就是在学mybatis时的那些jar包,如下图:
划线的是最重要的几个包,像第一个就是我们刚才下载的逆向工程核心包。
2
在src下新建一个包,我这里建的是 com.mybatis.generator 包,再在这个包下建立一个用于最后运行的java文件,我这里是 GeneratorSqlmap.java ,具体代码会在下面贴上。
3
在src下建立一个文件 log4j.properties ,这个就是我们学mybatis时用过的,直接拿过来用也行,但必须放在 src 下,不然运行项目后,会出现如下警告:1
2
3log4j:WARN No appenders could be found for logger (org.mybatis.generator.logging.LogFactory).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
4
在项目下建立一个 generatorConfig.xml 文件,用于具体配置
5
运行刚才创建的 GeneratorSqlmap.java 文件,就会看到src 下多了两个包,一个是mapper的包,一个是po的包
code:
GeneratorSqlmap.java:
1 | package com.mybaits.generator; |
log4j.properties:
1 | # Global logging configuration |
generatorConfig.xml:
1 | <?xml version="1.0" encoding="UTF-8"?> |
我这里只用了一个表,user 表: