使用MyBatis Generator自动创建代码
- 安装jdk
- 下载jar 和配置xml文件
- 自动生成代码
- 报错分析与解决
- Table configuration with catalog null, schema null, and table public.user_t did not resolve to any tables
- The specified target project directory src does not exist
安装jdk
下载jar 和配置xml文件
1、在项目下创建目录:mybatis-generator-lib
下载以下3个jar [可以maven仓库下载:https://search.maven.org/]
mybatis-3.2.7.jar
mybatis-generator-core-1.3.2.jar
postgresql-42.5.1.jar [数据库驱动]
2、在mybatis-generator-lib目录下创建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>
<!-- 数据库驱动-->
<classPathEntry location="postgresql-42.5.1.jar"/>
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressDate" value="true"/>
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--数据库链接URL,用户名、密码 -->
<jdbcConnection driverClass="org.postgresql.Driver" connectionURL="jdbc:postgresql://hostname:port/database" userId="username" password="password">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 生成模型的包名[test.domain]和位置[D:\**\src\test\domain使用绝对路径,防止找不到]-->
<javaModelGenerator targetPackage="test.domain" targetProject="D:\**\src">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成映射文件的包名和位置[使用绝对路径,防止找不到]-->
<sqlMapGenerator targetPackage="test.mapping" targetProject="D:\**\src">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 生成DAO的包名和位置[使用绝对路径,防止找不到]-->
<javaClientGenerator type="XMLMAPPER" targetPackage="test.IDao" targetProject="D:\**\src">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- 要生成的表 tableName是数据库中的表名或视图名[不需要加schema,不然会报错] ; domainObjectName是实体类名-->
<table tableName="tableName" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
</context>
</generatorConfiguration>
自动生成代码
打开控制台,进入mybatis-generator-lib目录下,执行脚本:
java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite
生成文件如下:【可以调整目录到main-java下】
报错分析与解决
Table configuration with catalog null, schema null, and table public.user_t did not resolve to any tables
原因:<table tableName=“schema.tableName” ;
解决:加了schema , 去掉即可
The specified target project directory src does not exist
写绝对路径解决;如:D:**\src