您的位置:首页 > 数据库 > Oracle

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

2016-06-20 19:04 836 查看

一、思路: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上

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: