逆向工程

创建逆向工程,基于mybatis
1、创建新工程
2、导入相关的jar包
/lib/ehcache-core-2.6.8.jar
/lib/mybatis-3.4.1.jar
/lib/mybatis-ehcache-1.0.3.jar
/lib/mybatis-generator-core-1.3.2.jar
/lib/mysql-connector-java-5.1.37-bin.jar
3、配置相关文件
properties:数据库相关配置
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/####?allowMultiQueries=true
jdbc.username=root
jdbc.password=root
配置mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!-- 
	1. 	properties:  支持做一些属性的配置  或者是 直接引入外部的属性文件
			resource: 引入类路径下的资源文件
			url:      引入网络路径或者是磁盘路径下的资源文件  
 -->
<properties resource="db.properties" >
</properties>

<!-- 2. settings: 包含很多重要的设置项. 	 -->
 <settings>
 	<!-- 映射下划线到驼峰命名     last_name ==>lastName -->
 	<setting name="mapUnderscoreToCamelCase" value="true"/>
 	
 	<setting name="jdbcTypeForNull" value="NULL"/>
 	
 	<!-- 开启延迟加载 -->
 	<setting name="lazyLoadingEnabled" value="true"/>
 	<!-- 设置按需加载 -->
 	<setting name="aggressiveLazyLoading" value="false"/>
 	
 	<!-- 开启二级缓存的使用 -->
 	<setting name="cacheEnabled" value="true"/>
 
 </settings>
 
<!-- 3. typeAliases :别名处理 
			typeAlias: 为单个的java类型取别名
				type: 指定全类名
				alias: 指定别名. 默认的别名就是类名. 
			package: 批量取别名。 为指定包以及子包下所有的类取默认的别名. 
					 如果有别名冲突的情况,可以使用@Alias取别名. 
-->
<typeAliases>
	<!-- <typeAlias type="com.atguigu.mybatis.beans.Employee" alias="employee"/>  -->
	<package name="com.atguigu.mybatis.beans"/>

</typeAliases>

<!--4. environments : 数据库环境环境 
		 Mybatis支持配置多个环境. 使用default来指定具体使用的环境. 
		 
		 <environment>: 具体的环境配置
		 	<transactionManager> : 事务管理
		 		JDBC : JdbcTransactionFactory
		 		MANAGED:ManagedTransactionFactory
		 	  最终: 事务管理交给Spring.
		 	<dataSource> : 数据源
		 		UNPOOLED:不使用连接池  UnpooledDataSourceFactory
		 		POOLED:使用连接池    PooledDataSourceFactory
		 		JNDI: 从应用服务器中获取连接.JndiDataSourceFactory
			最终: 数据源交给Spring . 
-->
<environments default="development">

	<environment id="development">
		<transactionManager type="JDBC" />
		<dataSource type="POOLED">
			<property name="driver" value="${jdbc.driver}" />
			<property name="url" value="${jdbc.url}" />
			<property name="username" value="${jdbc.username}" />
			<property name="password" value="${jdbc.password}" />
		</dataSource>
	</environment>
	
	<!-- <environment id="test">
		<transactionManager type=""></transactionManager>
		<dataSource type=""></dataSource>
	</environment> -->
</environments>

<!-- 5. mappers  引入SQL映射文件
			<mapper>: 引入单个的SQL映射文件		
			<package>: 批量引入SQL映射文件
					要求:  Mapper接口 与 SQL映射文件必须同名同位置  -->
					
<mappers>
	<!-- <mapper resource="EmployeeMapper.xml" /> -->
	<package name="com.atguigu.mybatis.dao"/>
</mappers>
4、编写逆向工程的xml文件(mbg.xml) <?xml version="1.0" encoding="UTF-8"?>

generatorConfiguration

<!-- 	 context:
 	targetRuntime: 
			MyBatis3:生成带QBC风格的CRUD
			MyBatis3Simple: 生成基本的CRUD -->

context id=“DB2Tables” targetRuntime=“MyBatis3Simple”

<!-- 数据库的连接 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
    connectionURL="jdbc:mysql://localhost:3306/finance"
    userId="root"
    password="751022">
</jdbcConnection>

<!-- javaBean的生成策略 -->
<javaModelGenerator targetPackage="com.atguigu.mybatis.beans" targetProject=".\src">
  <property name="enableSubPackages" value="true" />
  <property name="trimStrings" value="true" />
</javaModelGenerator>

<!-- SQL映射文件的生成策略 -->
<sqlMapGenerator targetPackage="com.atguigu.mybatis.dao"  targetProject=".\conf">
  <property name="enableSubPackages" value="true" />
</sqlMapGenerator>

<!-- Mapper接口的生成策略  -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.atguigu.mybatis.dao"  targetProject=".\src">
  <property name="enableSubPackages" value="true" />
</javaClientGenerator>

<!-- 逆向分析的表 -->
<table tableName="nplm_borrower_info"  domainObjectName="NplmBorrowerInfo"></table>
<table tableName="nplm_contract_attribute" domainObjectName="NplmConreactAttribute"></table>
<table tableName="nplm_loan_contract" domainObjectName="NplmLoanContract"></table>
<table tableName="nplm_overdue_contract" domainObjectName="NplmOverdueContract"></table>
<table tableName="nplm_repayment_detail" domainObjectName="NplmRepaymentDetail"></table>
<table tableName="nplm_repayment_plan" domainObjectName="NplmRepaymentPlan"></table>
<table tableName="nplm_repayment_record" domainObjectName="NplmRepaymentRecord"></table>

context
generatorConfiguration

5、创建Test测试
package com.###.mybatis.test;

import java.io.File;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
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 TestMyBatis {

@Test
public void testMbg()  throws Exception{
		List<String> warnings = new ArrayList<String>();
	   boolean overwrite = true;
	   File configFile = new File("mbg.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 SqlSessionFactory  getSqlSessionFactory() throws Exception {
	String resource = "mybatis-config.xml";
	InputStream inputStream = 
			Resources.getResourceAsStream(resource);
	SqlSessionFactory sqlSessionFactory = 
				new SqlSessionFactoryBuilder().build(inputStream);
	return sqlSessionFactory;
}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值