代码生成器
在做项目之前,需要先下载相应的MyBatis的基本包,MySql的驱动包(这个大家用过MyBatis,肯定都是有相应的文件的)。
另外,还要下载一个mybatis-generator-1.3.5.zip,在官网下载即可:
1、使用MyBatis-generator生成代码
1.1、步骤一:创建一下新的项目(略)
创建项目,并且导入相应的jar包
1.2、步骤二:准备配置文件
直接在要目录中准备相应的配置文件,相应jar包
这里的 mybatis-generator-core-1.3.5.jar 就是从刚才官网下载下来,解压后直接拷备过来就可以使用了。
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>
<!-- 加载jdbc的驱动,驱动的路径 -->
<!-- 如果是eclipse的插件启动,则该地方的路径必须是绝对路径,路径中不要有中文 -->
<classPathEntry location="E:/java/eclipse/WorkSpace/day1113/mysql-connector-java-5.1.26-bin.jar"/>
<!--
context:上下文 制定生成策略的
targetRuntime : 目标运行环境
MyBatis3 生成的sql支持几乎无限的动态where子句
MyBatis3Simple 生成基础的CRUD操作
-->
<context id="development" targetRuntime="MyBatis3Simple">
<!--
commentGenerator : 注释的生成策略
MBG默认会为Java字段,Java方法,XML中的sql生成注释,
如果我们不想生成注释,可以手动设置属性阻止注释的生成
-->
<commentGenerator>
<!-- 阻止注释的生成 -->
<property name="suppressAllComments" value="true"/>
<!-- 阻止时间戳的生成 -->
<property name="suppressDate" value="true"/>
</commentGenerator>
<!-- 配置数据库的连接属性 -->
<connectionFactory>
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<property name="connectionURL" value="jdbc:mysql:///mybatis"/>
<property name="userId" value="root"/>
<property name="password" value="main"/>
</connectionFactory>
<!--
数据库中的浮点类型
decimal
numeric
forceBigDecimals="false"
MBG在生成doamin的时候会根据数据的长度自动选择java类型进行匹配数据库中decimal和numeric类型
-->
<javaTypeResolver>
<property name="forceBigDecimals" value="true"/>
</javaTypeResolver>
<!--
javaModelGenerator : doamin的生成策略
targetPackage : domain生成到哪个包下面
targetProject : 目标的项目 项目名称/src
eclipse的MBG插件运行,targetProject必须加项目名称
-->
<javaModelGenerator targetPackage="cn.itsource.domain" targetProject="day1113/src/main/java">
<!-- 由表名和列名生成类名和属性名的时候去掉空白 -->
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- Mapper映射文件生成策略 -->
<sqlMapGenerator targetPackage="cn.itsource.mapper" targetProject="day1113/src/main/resources">
</sqlMapGenerator>
<!--
Mapper接口的生成策略
context的targetRuntime="MyBatis3Simple"
type的值有两个可以选择:
ANNOTATEDMAPPER sql使用注解生成
XMLMAPPER sql生成到xml映射文件中
-->
<javaClientGenerator targetPackage="cn.itsource.mapper" type="XMLMAPPER" targetProject="day1113/src/main/java">
</javaClientGenerator>
<!-- 哪个table对应哪个domain -->
<table tableName="product" domainObjectName="Product"></table>
<table tableName="t_user" domainObjectName="User"></table>
</context>
</generatorConfiguration>
1.3、步骤三:运行生成代码
这里咱们使用命令行来进行生成:
在该目录按住Shift键,右键鼠标选择"在此处打开命令窗口",复制粘贴生成语句的文件代码即可。
java -jar mybatis-generator-core-1.3.5.jar -configfile generatorConfig.xml -overwrite
这时候,我们就可以看到代码已经生成
2、使用Eclipse插件生成代码
咱们刚才是使用了命令行生成代码,其实生成代码的方式还是比较多的,如Java代码,命令行,Maven插件,Eclipse插件,现在咱们再讲一下怎么使用Eclipse插件来完成这个代码。
2.1、步骤一:下载安装Eclipse插件
菜单找到Help,再找到Install New Software...
进入下面这个界面
然后不断点击next进行配置即可(此外需要连网)。
完成后重启Eclipse。
2.2、步骤二:修改配置
必需配置classPathEntry(写绝对路径),打到MySQL驱动位置,指定代码生成方法为UTF-8,最后,配置的targetProject路径加上项目名
<?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>
<!--
classPathEntry:可以配置多个,也不配置
数据库驱动:这里找到相应的驱动jar包就可以了(注:不同数据库的jar不一样)
location:里面的是路径(也可以直接写绝对路径 -> 如:E:\mybatis\mysql-connector-java-5.1.26-bin.jar)
-->
<classPathEntry location="D:\tool\eclipse\workspace\mybatis-generator-demo\lib\mysql-connector-java-5.1.26-bin.jar"/>
<context id="DB2Tables" targetRuntime="MyBatis3Simple" >
<property name="javaFileEncoding" value="UTF-8" />
<commentGenerator>
<property name="suppressDate" value="true"/>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql:///mybatis"
userId="root" password="admin">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<javaModelGenerator targetPackage="cn.zhao.domain" targetProject="mybatis-generator-demo">
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<sqlMapGenerator targetPackage="cn.zhao.mapping" targetProject="mybatis-generator-demo\resources">
</sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER" targetPackage="cn.zhao.dao" targetProject="mybatis-generator-demo">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<table tableName="t_user" domainObjectName="User">
<generatedKey column="id" sqlStatement="MySql" />
</table>
</context>
</generatorConfiguration>
点击生成即可: