建立一个新的javaweb项目,要自动生成dao层,核心需要一个配置文件 generatorConfig.xml,该文件包含了连接数据库参数;生成的 Model、Dao、Mapper 目标路径;指定数据库表;类型的转换处理等配置。
放入所需的架包和生成所需的模板
建立两个空白的包以便于存放生成的内容
修改 generatorConfig.xml内容,以便于确保生成的位置和内容是你所需要的,主要修改你要生成那个库中的表,你的密码是多少,生成的位置和你所建的空包名一致,生成的项目名和你所建的项目明确一致
在电脑中找到存放的位置,进入 自动生成阶段,cmd进入命令窗口,输入下面代码:
Java -jar E:\laopeng\MyBatis\MyBatis-jar\mybatis-generator-core-1.3.7.jar -configfile src/generatorConfig.xml
E:\laopeng\MyBatis\MyBatis-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">
<!-- MBG配置文件的根元素 -->
<generatorConfiguration>
<classPathEntry location="E:\laopeng\MyBatis\MyBatis-jar\mysql-connector-java-8.0.15.jar"/>
<!-- id属性是必须,可任意指定,targetRuntime指定使用哪种运行时
对于MyBatis 3来说,目前支持MyBatis3、MyBatis3Simple或MyBatis3DynamicSql三个值
-->
<context id="MySQL2Tables" targetRuntime="MyBatis3" defaultModelType="flat">
<plugin type="org.mybatis.generator.plugins.ToStringPlugin"/>
<commentGenerator>
<!-- 设置是否去除生成的注释,true代表去除注释,false代表保留注释 -->
<property name="suppressAllComments" value="true"/>
<!-- 设置生成的注释是否包含时间戳,true代表不包含,false代表包含 -->
<property name="suppressDate" value="true"/>
</commentGenerator>
<!-- 配置JDBC连接信息,MBG要根据该信息来连接数据库 -->
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/tushu?serverTimezone=GMT"
userId="root"
password="123456">
<property name="nullCatalogMeansCurrent" value="true" />
</jdbcConnection>
<javaTypeResolver>
<!-- 指定是否强制使用BigDecimal类型
默认为false,如数据列是DECIMAL或NUMERIC类型,将根据数据列的
length、scale值决定该列对应的属性使用BigDecimal、Short、Integer或Long类型
如将该属性设为true,则只要数据列是DECIMAL或NUMERIC类型,
该数据列对应的属性总是使用BigDecimal类型
-->
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 设置实体类的包名和目标项目名 -->
<javaModelGenerator targetPackage="com.ape.bean"
targetProject="E:\eclipse-workspace\123\src"/>
<!-- 设置XML Mapper的包名和目标项目名 -->
<sqlMapGenerator targetPackage="com.ape.mapper"
targetProject="E:\eclipse-workspace\123\src"/>
<!-- 设置Mapper接口的包名和目标项目名 -->
<!--
生成易于使用的针对Model对象和XML配置文件 的代码,即dao层接口文件
type="ANNOTATEDMAPPER",基于注解的Mapper接口,不会有对应的XML映射文件
type="MIXEDMAPPER",XML和注解的混合形式,(上面这种情况中的)SqlProvider注解方法会被XML替代
type="XMLMAPPER",所有的方法都在XML中,接口调用依赖XML文件。
-->
<javaClientGenerator targetPackage="com.ape.mapper"
targetProject="E:\eclipse-workspace\123\src" type="ANNOTATEDMAPPER"/>
<!-- 指定为哪些表生成实体类、Mapper组件,
tableName指定表名,%是通配符,代表任意表
-->
<table
enableCountByExample="false"
enableUpdateByExample="false"
enableDeleteByExample="false"
enableSelectByExample="false"
selectByExampleQueryId="false"
tableName="%" >
<property name="useActualColumnNames" value="false"/>
</table>
</context>
</generatorConfiguration>