西网站建设公司,辅助wordpress 页面编辑,济南网站建设找凌峰,Wordpress导航标签icon一般来说都会新建另外一个项目#xff0c;用于生成代码文件#xff0c;然后拷贝到需要的项目中。新建maven项目用于生成代码文件#xff0c;项目目录如下所示#xff1a; pom.xml内容如下#xff1a;
project xmlnshttp://maven.apache.org/POM/4.0.0 x…一般来说都会新建另外一个项目用于生成代码文件然后拷贝到需要的项目中。新建maven项目用于生成代码文件项目目录如下所示 pom.xml内容如下
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.nhu/groupIdartifactIdMyMavenGenerator/artifactIdversion0.0.1-SNAPSHOT/versiondependencies!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core --dependencygroupIdorg.mybatis.generator/groupIdartifactIdmybatis-generator-core/artifactIdversion1.3.2/version/dependency!-- https://mvnrepository.com/artifact/log4j/log4j --dependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.2.17/version/dependency!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.4.6/version/dependency/dependenciesbuild/
/project generatorConfig.xml内容如下所示
?xml version1.0 encodingUTF-8?
!DOCTYPE generatorConfigurationPUBLIC -//mybatis.org//DTD MyBatis Generator Configuration 1.0//ENhttp://mybatis.org/dtd/mybatis-generator-config_1_0.dtdgeneratorConfigurationcontext idtestTables targetRuntimeMyBatis3commentGenerator!-- 是否去除自动生成的注释 true是 false:否 --property namesuppressAllComments valuetrue //commentGenerator!--数据库连接的信息驱动类、连接地址、用户名、密码 --jdbcConnection driverClassoracle.jdbc.OracleDriverconnectionURLjdbc:oracle:thin:192.168.1.196:1521:orcl userIdnhu_yzdpassword123/jdbcConnection!-- 默认false把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer为 true时把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal --javaTypeResolverproperty nameforceBigDecimals valuefalse //javaTypeResolver!-- targetProject:生成PO类的位置 --javaModelGenerator targetPackagecom.nhu.potargetProject.\src\main\java!-- enableSubPackages:是否让schema作为包的后缀 --property nameenableSubPackages valuefalse /!-- 从数据库返回的值被清理前后的空格 --property nametrimStrings valuetrue //javaModelGenerator!-- targetProject:mapper映射文件生成的位置 --sqlMapGenerator targetPackagecom.nhu.mapper targetProject.\src\main\java!-- enableSubPackages:是否让schema作为包的后缀 --property nameenableSubPackages valuefalse //sqlMapGenerator!-- targetPackagemapper接口生成的位置 --javaClientGenerator typeXMLMAPPERtargetPackagecom.nhu.mapper targetProject.\src\main\java!-- enableSubPackages:是否让schema作为包的后缀 --property nameenableSubPackages valuefalse //javaClientGenerator!-- 有些表的字段需要指定java类型--table tableNameTABCKINCOME/table table tableNameTABCKUSED/tabletable tableNameTABDEPTINCOME/tabletable tableNameTABDEPTUSED/tabletable tableNameTABPRODUCTS/tabletable tableNameTABPRODUCTSTYPE/tabletable tableNameTABUNIT/tabletable tableNameTABUSERS/table/context
/generatorConfigurationlog4j.properties中的配置如下所示
log4j.rootLoggerDEBUG, Console#Console
log4j.appender.Consoleorg.apache.log4j.ConsoleAppender
log4j.appender.Console.layoutorg.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern%d [%t] %-5p [%c] - %m%nlog4j.logger.java.sql.ResultSetINFO
log4j.logger.org.apacheINFO
log4j.logger.java.sql.ConnectionDEBUG
log4j.logger.java.sql.StatementDEBUG
log4j.logger.java.sql.PreparedStatementDEBUG
\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014
\u7248\u6743\u58F0\u660E\uFF1A\u672C\u6587\u4E3ACSDN\u535A\u4E3B\u300CJokerZhan\u300D\u7684\u539F\u521B\u6587\u7AE0\uFF0C\u9075\u5FAA CC 4.0 BY-SA \u7248\u6743\u534F\u8BAE\uFF0C\u8F6C\u8F7D\u8BF7\u9644\u4E0A\u539F\u6587\u51FA\u5904\u94FE\u63A5\u53CA\u672C\u58F0\u660E\u3002
\u539F\u6587\u94FE\u63A5\uFF1Ahttps://blog.csdn.net/JokerZhan/article/details/82942488 在com.nhu.main中新建一个java类GeneratorMain.java 用于生成配置自动生成代码
package com.nhu.main;import java.io.File;
import java.util.ArrayList;
import java.util.List;
import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;public class GeneratorMain {public void generator() throws Exception {//warnings为用于放置生成过程中警告信息的集合对象ListString warnings new ArrayListString();//指定是否覆盖重名文件boolean overwrite true;// 指定配置文件File configFile new File(generatorConfig.xml);//配置解析类ConfigurationParser cp new ConfigurationParser(warnings);//配置解析类解析配置文件并生成Configuration 配置对象Configuration config cp.parseConfiguration(configFile);//负责如何处理重复文件DefaultShellCallback callback new DefaultShellCallback(overwrite);//逆向工程对象MyBatisGenerator myBatisGenerator new MyBatisGenerator(config, callback, warnings);//执行逆向文件生成操作myBatisGenerator.generate(null);}// 执行main方法以生成代码public static void main(String[] args) {try {GeneratorMain generatorSqlmap new GeneratorMain();generatorSqlmap.generator();} catch (Exception e) {e.printStackTrace();}}
}运行上图代码后F5刷新项目便可以看到自动生成的代码文件 将自动生成的代码文件拷贝到需要的项目中即可。
注意在oracle数据库中是不分大小写的如果要区分必须要加上引号。用Navicat的可视化界面进行新增的表会自动在表名上加上引号如 TabUser 。这会导致mybatis无法识别表名从而无法进行逆向工程操作。建议在oracle中建表和表字段时手动写create语句并且全部用大写并且不加引号。