J2ee项目从0搭建(八):集成Mybatis、mybatis-generator代码生成、Oracle数据库

一、思路:Spring集成Mybatis,连接Oracle数据库,并利用mybatis-generator自动生成Dao、Model、Mapping。这边我们接上一节,只是添加了Oracle部分。如果有疑惑或者不明白的可以查看上一节J2ee项目从0搭建(七):集成Mybatis、mybatis-generator代码生成、MySQL数据库


二、pom.xml配置文件中:<dependencies>中我们需要配置oracle的ojdbc依赖;

      	<dependency>
      		<groupId>com.oracle</groupId>
      		<artifactId>ojdbc7</artifactId>
      		<version>7.0</version>
  		</dependency>

如果自己本地没有ojdbc包或者http://mvnrepository.com/仓库中也找不到合适的pom依赖,可以下载ojdbc(我这边使用的),使用命令导入到本地仓库后即可。

mvn install:install-file -Dfile=ojdbc7-7.0.jar -DgroupId=com.oracle -DartifactId=ojdbc7 -Dversion=7.0 -Dpackaging=jar


三、定义好Oracle的数据库参数:驱动名、地址、用户名、密码等;在src/main/resources下创建application.properties


#oracle database setting
jdbc.driver=oracle.jdbc.OracleDriver
jdbc.url=jdbc:oracle:thin:@xxx.xxx.xxx.xxx:1521:orcl
jdbc.username=xxxxxx
jdbc.password=xxxxxx

#connection pool settings
jdbc.pool.maxIdle=10
jdbc.pool.maxActive=40

四、还在此目录下创建spring-mybatis.xml配置文件,使用<context:property-placeholder>引入上面定义好的属性配置文件,并配置一个DataSource bean,oracle就配置好了。

	<!-- Oracle -->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close">
		<!-- 数据库信息 -->
		<property name="driverClassName" value="${jdbc.driver}" />
		<property name="url" value="${jdbc.url}" />
		<property name="username" value="${jdbc.username}" />
		<property name="password" value="${jdbc.password}" />

		<!-- 链接池信息:最大活跃数、最大空闲数 -->
		<property name="maxActive" value="40" />
		<property name="maxIdle" value="${jdbc.pool.maxIdle}" />
		<property name="defaultAutoCommit" value="false" />
		
		<!-- 连接Idle一个小时后超时(配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒) -->
		<property name="timeBetweenEvictionRunsMillis" value="3600000" />
		<property name="minEvictableIdleTimeMillis" value="3600000" />

		<!-- 验证连接有效与否的SQL,不同的数据配置不同 -->
		<!-- 用来检测连接是否有效的sql,要求是一个查询语句。如果validationQuery为null,testOnBorrow、testOnReturn、testWhileIdle都不会其作用。 推荐使用SELECT 1-->
		<property name="validationQuery" value="SELECT 1 from dual" />
		<!-- 这里建议配置为TRUE,防止取到的连接不可用 --> 
		<!-- 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。 -->
		<property name="testOnBorrow" value="true" />
		<!-- 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能 -->
		<property name="testOnReturn" value="true" />
		<!-- 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效 -->
		<property name="testWhileIdle" value="true" />
	</bean>

五、为了确保mybatis-generator生成的映射文件可以使用spring注解管理bean的创建,在spring-mybatis.xml中将自动生成的model、dao、Mapping.xml路径进行配置。

	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<!-- 自动扫描entity目录, 省掉Configuration.xml里的手工配置 -->
		<property name="typeAliasesPackage" value="com.spring.demo.mybatis.model" />
		<!-- 显式指定Mapper文件位置 -->
		<property name="mapperLocations" value="classpath:/mybatis/*.xml" />
	</bean>

	<!-- 扫描basePackage下所有以@MyBatisRepository标识的 接口 -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="com.spring.demo.mybatis.dao" />
	</bean>

六、我们用mybatis-generator自动生成Dao、Model、Mapping,所以仍然在此目录下创建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">
<!-- mvn mybatis-generator:generate -->
<generatorConfiguration>
	<classPathEntry
		location="D:\xxx\maven-repository\com\oracle\ojdbc7\7.0\ojdbc7-7.0.jar" />

	<context id="baseTradeTables" targetRuntime="MyBatis3">
		<commentGenerator>
			<property name="suppressAllComments" value="true" />
		</commentGenerator>

		<jdbcConnection driverClass="oracle.jdbc.OracleDriver"
			connectionURL="jdbc:oracle:thin:@xxx:xxx:xxx:xxx:orcl" userId="xxxxxx"
			password="xxxxxx">
		</jdbcConnection>

		<javaTypeResolver>
			<property name="forceBigDecimals" value="true" />
		</javaTypeResolver>

		<!-- 后台生成 -->
		<javaModelGenerator targetPackage="com.spring.demo.mybatis.model"
			targetProject="src/main/java">
			<property name="enableSubPackages" value="true" />
			<property name="trimStrings" value="true" />
		</javaModelGenerator>

		<sqlMapGenerator targetPackage="mybatis"
			targetProject="src/main/resources">
			<property name="enableSubPackages" value="true" />
		</sqlMapGenerator>

		<javaClientGenerator type="XMLMAPPER"
			targetPackage="com.spring.demo.mybatis.dao" targetProject="src/main/java">
			<property name="enableSubPackages" value="true" />
		</javaClientGenerator>

		<table tableName="DESC_INFO">
		</table>
	</context>
</generatorConfiguration>

六、mybatis-generator配置好之后,我们就来自动生成一下user表的dao、model、mapping:在项目目录下(pom.xml)打开命令行工具,输入mvn mybatis-generator:generate,第一次的话,如果缺少某些依赖jar的话可能需要花点时间。




七、BUILD SUCCESS之后,刷新项目后,就能发现自动生成的文件了。




八、这边只是简单说了mybatis和oracle的集成,部分详情可以查看

J2ee项目从0搭建(七):集成Mybatis、mybatis-generator代码生成、MySQL数据库


======================================================================================================================

为了便于大家学习,项目将被开源在我的github上:

项目地址:https://github.com/gubaijin/buildmavenweb


如何将项目开源道github,请看我的另一篇博文:GitHub上创建项目 并初始化本地工程提交到GitHub上





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值