MyBatis逆向工程_java maven

MyBatis逆向工程_java maven什么是逆向工程    MyBatis的一个主要的特点就是需要程序员自己编写sql,那么如果表太多的话,难免会很麻烦,所以mybatis官方提供了一个逆向工程,可以针对单表自动生成mybatis执行所需要的代码(包括mapper.xml、mapper.java、po..)。一般在开发中,常用的逆向工程方式是通过数据库的表生成代码。1:mybatis逆向工程开发源码:https://do…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

什么是逆向工程

       MyBatis的一个主要的特点就是需要程序员自己编写sql,那么如果表太多的话,难免会很麻烦,所以mybatis官方提供了一个逆向工程,可以针对单表自动生成mybatis执行所需要的代码(包括mapper.xml、mapper.java、po..)。一般在开发中,常用的逆向工程方式是通过数据库的表生成代码。
1:mybatis逆向工程开发源码:

https://download.csdn.net/download/qq_40110871/10709564

2:使用逆向工程生成代码有好几种方式,这里就介绍一种最简单的,java程序生成:,解释在配置中
2.1准备逆向工程配置文件genreatorConfig.xml,名字无所谓,只要在java程序中作为file传入就好:

<?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>
	<!-- context元素用于指定生成一组对象的环境。targetRuntime:此属性用于指定生成的代码的运行时环境。MyBatis3:*这是默认值*-->
	<context id="testTables" targetRuntime="MyBatis3">
		<commentGenerator>
			<!-- 是否去除自动生成的注释 true:是 : false:否 -->
			<property name="suppressAllComments" value="true" />
		</commentGenerator>
		<!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
		<jdbcConnection driverClass="com.mysql.jdbc.Driver"
			connectionURL="jdbc:mysql://localhost:3306/newsmanagersystem?allowMultiQueries=true" userId="root"
			password="root">
		</jdbcConnection>
		<!-- 如使用oracle请参考如下 -->
		<!-- <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
			connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:orcl" 
			userId="scott"
			password="wcy675600920">
		</jdbcConnection> -->

		<!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和 
			NUMERIC 类型解析为java.math.BigDecimal -->
		<javaTypeResolver>
			<property name="forceBigDecimals" value="false" />
		</javaTypeResolver>

		<!-- targetProject:生成PO类的位置 -->
		<javaModelGenerator targetPackage="org.dzl.news.entity"
			targetProject=".\src">
			<!-- enableSubPackages:是否让schema作为包的后缀 -->
			<property name="enableSubPackages" value="false" />
			<!-- 从数据库返回的值被清理前后的空格 -->
			<property name="trimStrings" value="true" />
		</javaModelGenerator>
        <!-- targetProject:mapper映射文件生成的位置 -->
		<sqlMapGenerator targetPackage="org.dzl.news.mapper" 
			targetProject=".\src">
			<!-- enableSubPackages:是否让schema作为包的后缀 -->
			<property name="enableSubPackages" value="false" />
		</sqlMapGenerator>
		<!-- targetPackage:mapper接口生成的位置 -->
		<javaClientGenerator type="XMLMAPPER"
			targetPackage="org.dzl.news.dao" 
			targetProject=".\src">
			<!-- enableSubPackages:是否让schema作为包的后缀 -->
			<property name="enableSubPackages" value="false" />
		</javaClientGenerator>
		
		<!-- 指定数据库表 -->
		<table tableName="comments" schema="" enableCountByExample="false"
				enableDeleteByExample="false" enableUpdateByExample="false"
				enableSelectByExample="false" selectByExampleQueryId="false"></table>
				
		<table tableName="news" schema="" enableCountByExample="false"
				enableDeleteByExample="false" enableUpdateByExample="false"
				enableSelectByExample="false" selectByExampleQueryId="false"></table>

		<!-- 有些表的字段需要指定java类型
		 <table schema="" tableName="">
			<columnOverride column="" javaType="" />
		</table> -->
	</context>
</generatorConfiguration>

2.2下载jar包,大家如果找不到,可以去maven repository去下载:
MyBatis逆向工程_java maven
2.3准备java程序,在开发文档首页,粘贴一下就好了,没必要记住:


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 GeneratorSqlmap {

	public void generator() throws Exception{

		List<String> warnings = new ArrayList<String>();
		boolean overwrite = true;
		//指定 逆向工程配置文件
		File configFile = new File("generatorConfig.xml"); 
		ConfigurationParser cp = new ConfigurationParser(warnings);
		Configuration config = cp.parseConfiguration(configFile);
		DefaultShellCallback callback = new DefaultShellCallback(overwrite);
		MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,
				callback, warnings);
		myBatisGenerator.generate(null);

	} 
	public static void main(String[] args) throws Exception {
		try {
			GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();
			generatorSqlmap.generator();
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}

}

log4j.properties:

log4j.rootLogger=DEBUG, Console
#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

2.4运行java程序,就会发现生成的代码如下:
MyBatis逆向工程_java maven

MyBatis逆向工程_java maven

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/171839.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • HTML5播放暂停音乐

    查看效果:http://hovertree.com/code/jquery/ueyf7gn4.htm代码如下:更多特效:http://www.cnblogs.com/roucheng/p/texi

    2021年12月22日
  • linux 查询环境变量_ubuntu查看环境变量

    linux 查询环境变量_ubuntu查看环境变量有时候在编写makefile的时候,自己都不清楚有些变量是什么,也不清楚如何查看,于是感觉有必要在这里写一篇环境变量查看的博文。如果你想查看某一个名称的环境变量,命令是:echo$环境变量名,比如:echo$ORACLE_HOME这是最基础的,下面来讲下稍微深入一点的,并举例说明1.显示环境变量HOME$echo$HOME/home/ljj2.设置一个新的变量$exportHELLO=”…

  • ROS安装报错 sudo: rosdep:找不到命令

    ROS安装报错 sudo: rosdep:找不到命令安装ROS时初始化rosdep过程中,执行到:sodurosdepinit报错:sudo:rosdep:找不到命令原因:没有安装python-rosdep这个包解决办法:sudoapt-getinstallpython-rosdep然后重新执行:sudorosdepinitrosdepupdate…

  • 知识图谱—知识推理综述(一)[通俗易懂]

    知识图谱—知识推理综述(一)[通俗易懂]知识图谱—知识推理综述(一)1知识推理的概念以及分类1.1知识推理的基本概念所谓的知识推理,就是在已有知识的基础之上,推断出未知的知识的过程。通过从已知的知识出发,通过已经获取的知识,从中获取到所蕴含的新的事实,或者从大量的已有的知识中进行归纳,从个体知识推广到一般性的知识。根据上面的概念的描述,我们可以知道,对于知识推理而言,其包括的内容可以分为两种,第一种是我们已经知道的,用于进行推理的已有知识,另外一种是我们运用现有的知识推导或者归纳出来的新的知识。对于知识而言,其形式是多种多样的,可以是

  • 黑群晖安装与使用

    黑群晖安装与使用本教程是一个完整教程,教你0基础0配件安装群晖NAS服务器。

  • 《Python源码剖析》学习笔记

    《Python源码剖析》学习笔记最近阅读《Python源码剖析》一书,对python底层实现有了更为深刻的理解,特在此记录学习笔记。共有六篇笔记,原文发表在PythonTip。Python源码剖析笔记—第一章:Python对象初探Python源码剖析笔记—-第二章:初识PyIntObjectpython源码剖析笔记—PyListObjectpython源码剖析笔记—Dic

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号