MyBatis-Generator快速入门 <一>(mysql数据源)
淙嶙7年前 (2018-05-28)未命名1072
按官方文档所说,快速上手Mybatis Generator (缩写MBG),只需完成如下几部即可:
1. 花一分钟,写一个配置文件。这个配置文件必须具备以下五个xml标签。
a.一个<jdbcConnection>标签,指出需要连接的目录数据库。 包括driverClass(驱动)、connectionURL(连接地址)、userId(登录数据库用户名)、password(登录数据库密码);
b.一个<javaModelGenerator>标签,定义java模型(pojo类或叫java实体类)和${实体类名}Example文件的生成位置。其中targetProject指出存放实体的项目名,targetPackage指出存放实体的包名路径。
c.一个<sqlMapGenerator>标签,生成的sql的xml文件的存放信息。
d.(可选)<javaClientGenerator>标签,生成c步骤xml对应sql的基础查询的dao文件,用Mybatis Generator官方的话说就是,“在由targetProject和targetPackage指定的位置生成客户端接口和类(操作数据库接口或者类)”,如果不需要它给生成的话也可以不要个这个。
e.最后,至少有个一个<table>标签。
2.保存文件到一个路径下(如: empgeneratorConfig.xml)
3.使用一个命令运行Mybatis Generator (MBG) 例如:
java -jar mybatis-generator-core-x.x.x.jar -configfile empgeneratorConfig.xml -overwrite
4.完成
generatorConfig.properties
#数据库相关配置
mysqlConnectorPath={存放路径}/mysql/mysql-connector-java/5.1.40/mysql-connector-java-5.1.40.jar
driverClass=com.mysql.jdbc.Driver
connectionURL=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF-8
userId=xxx{登录用户名}
password=xxx{登录密码}
#项目路径--工程的源代码存放位置
targetProject=E:/workspace/UseMybatis/UseMybatis
#存放实体类的位置
pojoProject=E:/workspace/UseMybatis/UseMybatis-domain
pojoPackage=com.lvdalin.stu.mybatis.domain
#存放mapper文件的位置
mapperProject=E:/workspace/UseMybatis/UseMybatis-dao
mapperPackage=mybatis.mapper
#存放dao的位置
daoProject=E:/workspace/UseMybatis/UseMybatis-dao
daoPackage=com.lvdalin.stu.mybatis.dao
#表名
tableName=mybatis_user
#表对应实体类名
domainObjectName=User
#别名 推荐使用,遇到表关联的时候,使用起来修改的东西比较少。
tableAlias=u
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>
<!-- 引入配置文件 -->
<properties resource="generatorConfig.properties"/>
<classPathEntry location="${mysqlConnectorPath}" />
<context id="context1" targetRuntime="MyBatis3">
<commentGenerator>
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="true" />
</commentGenerator>
<jdbcConnection connectionURL="${connectionURL}"
driverClass="${driverClass}" password="${userId}" userId="${password}" />
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<javaModelGenerator targetPackage="${pojoPackage}" targetProject="${pojoProject}srcmainjava">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
<!-- 从数据库返回的值被清理前后的空格 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
<sqlMapGenerator targetPackage="${mapperPackage}" targetProject="${mapperProject}srcmain
esources">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<javaClientGenerator targetPackage="${daoPackage}" targetProject="${daoProject}srcmainjava"
type="XMLMAPPER">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<table tableName="${tableName}" domainObjectName="${domainObjectName}"
enableCountByExample="true" enableUpdateByExample="true"
enableDeleteByExample="true" enableSelectByExample="true"
selectByExampleQueryId="true" alias="${tableAlias}" >
</table>
</context>
</generatorConfiguration>