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

来源:互联网 发布:ntfs for mac 10.11.6 编辑:程序博客网 时间:2024/06/04 19:04

一、思路: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 settingjdbc.driver=oracle.jdbc.OracleDriverjdbc.url=jdbc:oracle:thin:@xxx.xxx.xxx.xxx:1521:orcljdbc.username=xxxxxxjdbc.password=xxxxxx#connection pool settingsjdbc.pool.maxIdle=10jdbc.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><classPathEntrylocation="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上





0 0