使用mybatis-generator-core自动生成代码
SSM框架可以使用mybatis-generator-core-1.3.2.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>
	<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/crm" userId="root"
			password="1111">
		</jdbcConnection>
		  <!-- 数据库连接配置 sqlserver-->
  		<!--<jdbcConnection driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver"
            connectionURL="jdbc:sqlserver://gsdy.eicp.net:8633;databasename=qkmls"
            userId="sa"
            password="sa@20170410" />-->
		<!--<jdbcConnection driverClass="oracle.jdbc.OracleDriver"
			connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg"
			userId="yycg"
			password="yycg">
			</jdbcConnection> -->
		<!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和
			NUMERIC 类型解析为java.math.BigDecimal -->
		<javaTypeResolver>
			<property name="forceBigDecimals" value="false" />
		</javaTypeResolver>
		<!-- targetProject:生成PO类的位置 -->
		<javaModelGenerator targetPackage="com.ma.core.po"
			targetProject=".\src">
			<!-- enableSubPackages:是否让schema作为包的后缀 -->
			<property name="enableSubPackages" value="false" />
			<!-- 从数据库返回的值被清理前后的空格 -->
			<property name="trimStrings" value="true" />
		</javaModelGenerator>
        <!-- targetProject:mapper映射文件生成的位置 -->
		<sqlMapGenerator targetPackage="com.ma.mapper"
			targetProject=".\src">
			<!-- enableSubPackages:是否让schema作为包的后缀 -->
			<property name="enableSubPackages" value="false" />
		</sqlMapGenerator>
		<!-- targetPackage:mapper接口生成的位置 -->
		<javaClientGenerator type="XMLMAPPER"
			targetPackage="com.ma.core.dao"
			targetProject=".\src">
			<!-- enableSubPackages:是否让schema作为包的后缀 -->
			<property name="enableSubPackages" value="false" />
		</javaClientGenerator>
		<!-- 指定数据库表 -->
		<table tableName="customer" schema=""/>
		<table tableName="sys_user" schema=""/>
		<table tableName="base_dict" schema=""/>
			<!-- <table schema="" tableName="T_Qk_Orders"></table>
			<table schema="" tableName="T_Qk_Orderitem"></table>
			<table schema="" tableName="T_Qk_Amount"></table> -->
		<!--<table schema="" tableName="tb_content"></table>
			<table schema="" tableName="tb_content_category"></table>
			<table schema="" tableName="tb_item"></table>
			<table schema="" tableName="tb_item_cat"></table>
			<table schema="" tableName="tb_item_desc"></table>
			<table schema="" tableName="tb_item_param"></table>
			<table schema="" tableName="tb_item_param_item"></table>
			<table schema="" tableName="tb_order"></table>
			<table schema="" tableName="tb_order_item"></table>
			<table schema="" tableName="tb_order_shipping"></table>
			<table schema="" tableName="tb_user"></table> -->
	</context>
</generatorConfiguration>
GeneratorSqlmap.java使用代码
package com.ma.common.utils;
import java.io.File;
import java.io.IOException;
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.exception.XMLParserException;
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("resource/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();
		}
	}
}
小结
把上面的配置文件和代码,放到一个可以运行的项目下运行就可以了。根据自己的需求配置不同的数据源和生成代码的位置。
使用mybatis-generator-core自动生成代码的更多相关文章
- Eclipse 使用mybatis generator插件自动生成代码
		Eclipse 使用mybatis generator插件自动生成代码 标签: mybatis 2016-12-07 15:10 5247人阅读 评论(0) 收藏 举报 .embody{ paddin ... 
- springboot(十三):springboot结合mybatis generator逆向工程自动生成代码
		错信息generate failed: Exception getting JDBC Driver: com.mysql.jdbc.Driver 上网查了一下,发现原来是generator这个插件在运 ... 
- 02 使用Mybatis的逆向工程自动生成代码
		1.逆向工程的作用 Mybatis 官方提供了逆向工程,可以针对数据库表自动生成Mybatis执行所需要的代码(包括mapper.xml.Mapper.java.pojo). 2.逆向工程的使用方法 ... 
- 使用Mybatis的逆向工程自动生成代码
		1.逆向工程的作用 Mybatis 官方提供了逆向工程,可以针对数据库表自动生成Mybatis执行所需要的代码(包括mapper.xml.Mapper.java.pojo). 2.逆向工程的使用方法 ... 
- Spring Boot MyBatis 通用Mapper 自动生成代码
		一.在pom.xml文件中进入mybatis自动生成代码相关的jar包: 注意: <configurationFile>标签中配置的是“generatorConfig.xml”文件位置. ... 
- JAVA入门[7]-Mybatis generator(MBG)自动生成mybatis代码
		一.新建测试项目 新建Maven项目MybatisDemo2,修改pom.xml引入依赖.dependencies在上节基础上新增 <dependency> <groupId> ... 
- 使用Mybatis Generator插件自动生成映射文件(cmd无法进入文件,dns服务器对区域没有权威等问题)遇到问题
		使用Mybatis Genertor插件自动生MyBatis所需要的DAO接口,实体模型类,Mapping映射文件,将生成的代码赋值到项目工程中即可. 有命令行,Eclipse插 ... 
- 利用maven的MyBatis Generator 插件自动创建代码
		1.首先创建Maven工程 2.修改pom.xml文件代码如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xml ... 
- 使用eclipse插件mybatis generator来自动生成实体类及映射文件
		<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE generatorConfiguratio ... 
- mybatis,genarate自动生成代码
		---恢复内容开始--- generatorConfig.xml配置文件: <?xml version="1.0" encoding="UTF-8"?&g ... 
随机推荐
- 【python】python安装lxml报错【2】
			cl : Command line warning D9025 : overriding '/W3' with '/w' lxml.etree.c c:\docume~\admini~.chi\loc ... 
- .Net并行编程系列之三:创建带时间限制(Timeout)的异步任务并取得异步任务的结果
			尝试创建基于MVVM三层架构的异步任务: 场景:View层触发ViewModel层的动作请求,ViewModel层异步的从Model层查询数据,当数据返回或者请求超时时正确更新ViewModel层数据 ... 
- extract_by_one   根据二维数组中某字段来提取数组信息,查看有无重复信息
			public function tt(){ $param = array( array ( 'hykno' => '2222222-CB', 'tcdk_fid' => '458B6D70 ... 
- linux命令总结之dig命令
			Dig简介: Dig是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具.Dig的源码是ISC BIND大包的一部分,但是大多编译和安装Bind的文档都不把它包括在内 ... 
- CIDR 无类别域间路由
			参考百度百科 1.全称 CIDR的全称是Classless Inter-Domain Routing 2.作用 CIDR将路由集中起来,使一个IP地址代表主要骨干提供商服务的几千个IP地址,从而减轻I ... 
- day3 程序流程控制
			今天主要学习了while和do/while,以及运用循环做一些小的练习. 学习了如何断点调试程序. 程序设计的步骤: 1.分析问题 2.确定数据结构和算法 3.编制程序 4.调试问题 
- Mac 远程连接windows桌面工具parallels client
			https://www.cnblogs.com/cssfirefly/p/9644940.html Parallels Client 客户端是免费,App Store 直接下载 复制文件:用共享文件夹 ... 
- java web实现计划定时任务
			java web实现定时计划任务 1.定义一个类继承TimerTask,在run方法中写上需要执行的逻辑 package com.mytask; import java.util.TimerTask; ... 
- 邮件中的CC和BCC含义
			CC 英文全称是 Carbon Copy(抄送);BCC英文全称是 Blind CarbonCopy(暗抄送). 两者的区别在于在BCC栏中的收件人可以看到所有的收件人名(TO,CC,BCC),而在T ... 
- MongoDB - MongoDB CRUD Operations, Delete Documents
			Delete Methods MongoDB provides the following methods to delete documents of a collection: Method De ... 
