最近尝试了一下mybaits,使用起来感觉还不错。在此回顾总结一下框架搭配的过程。
总的搭配步骤如下,每步都是参考官方文档和例子。详细的请参考附件
只要参照一些 https://src.springframework.org/svn/spring-samples/mvc-basic/trunk,就可轻松实现spring3 mvc的restful。首先搞定了spring之后,能正常运行之后,接着就是数据源。
参照http://jolbox.com/里Spring based 设置,利用maven添加依赖包bonecp,配置数据源,这一步也应该很容易可轻松搞定。例如代码如下:
<bean id="dataSourceOrcl" class="com.jolbox.bonecp.BoneCPDataSource" destroy-method="close"> <property name="driverClass" value="oracle.jdbc.driver.OracleDriver" /> <property name="jdbcUrl" value="jdbc:oracle:thin:@10.6.2.18:1521:orcl" /> <property name="username" value="scsk"/> <property name="password" value="admin123"/> <property name="idleConnectionTestPeriod" value="60"/> <property name="idleMaxAge" value="240"/> <property name="maxConnectionsPerPartition" value="30"/> <property name="minConnectionsPerPartition" value="10"/> <property name="partitionCount" value="1"/> <property name="acquireIncrement" value="5"/> <property name="statementsCacheSize" value="100"/> <property name="releaseHelperThreads" value="3"/> </bean>
其中遇到oracle 驱动maven上无法自动添加的问题,需要自己手动下载ojdbc14包,利用maven命令添加到本地仓库就可了。例如,可参照http://lowkeyfeng.iteye.com/blog/907148
mvn install:install-file -DgroupId=com.oracle -DartifactIdojdbc14
-Dversion=10.0.0.0.0 -Dpackaging=jar -Dfile=C:\ojdbc14-10.2.0.4.0.jar
首先阅读官方网址http://code.google.com/p/mybatis/文档,下载 mybatis-spring 1.0.0 Reference Guide - Simplified Chinese或英文版 mybatis-spring 1.0.2 Reference Guide - English。了解到基本的配置信息。阅读配置信息获取如下类图关系。
由上图可知,如果配置的mapper的,只需要配置SqlSessionFactoryBean和MapperScannerConfigurer就可了。
SqlSessionFactoryBean指定数据源和mybatis的核心配置文件以及每个mapper类对应的sql语句xml文件
MapperScannerConfigurer自动扫描basePackage包下的mapper接口类,sqlSessionFactory属性引用SqlSessionFactoryBean。例如
<bean id="sqlSessionFactoryScsk" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSourceOrcl" /> <property name="configLocation" value="classpath:com/ccc/scsk/persistence/MapperConfig.xml" /> <property name="mapperLocations" value="classpath*:com/ccc/scsk/persistence/scsk/*.xml" /> </bean> <bean id="mapperScannerConfigurerScsk" class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.ccc.scsk.persistence.scsk" /> <property name="sqlSessionFactory" ref="sqlSessionFactoryScsk" /> </bean>
参考mbg自动生成文档 mybatis-generator-core-1.3.1 主要有两步要做:
<javaModelGenerator targetPackage="com.ccc.scsk.domain.scsk" targetProject="../src/main/java"> <property name="enableSubPackages" value="true" /> <property name="trimStrings" value="true" /> </javaModelGenerator> <sqlMapGenerator targetPackage="com.ccc.scsk.persistence.scsk" targetProject="../src/main/resources"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator> <table tableName="A_PAGE" domainObjectName="AdvertisementPage" enableInsert="false" enableUpdateByPrimaryKey="false" enableDeleteByPrimaryKey="false" enableSelectByExample="false" enableDeleteByExample="false" enableUpdateByExample="false" selectByExampleQueryId="false" enableCountByExample="false" />这样就可完整地生成对应的mapper接口和mapper类的xml文件
利用mybatis的Interceptor接口实现插件开发的。主要有三种方式。
这样,就可搞定spring3和mybatis的搭配的基本问题。实现了自动生成和分页。至于一些其他的更多需求,也是一样的步骤和思路,参考文档,参考实例,动手搭配,边动手边总结,很快就可搞定很多所谓复杂的问题。附件是简单的框架实例。请参考!