`
bukebuhao
  • 浏览: 88738 次
  • 性别: Icon_minigender_1
  • 来自: 绍兴
社区版块
存档分类
最新评论

maven+spring3+mybatis+bonecp+mybatis-generator+page(分页)

阅读更多

最近尝试了一下mybaits,使用起来感觉还不错。在此回顾总结一下框架搭配的过程。

总的搭配步骤如下,每步都是参考官方文档和例子。详细的请参考附件

  1. 搞定spring,由于使用的spring3 mvc;
  2. 搞定数据源bonecp;
  3. 搞定mybatis-spring;
  4. 自动生成generator
  5. 分页
  • spring mvc

      只要参照一些 https://src.springframework.org/svn/spring-samples/mvc-basic/trunk,就可轻松实现spring3 mvc的restful。首先搞定了spring之后,能正常运行之后,接着就是数据源。

 

  •     数据源bonecp

      参照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

 

  • mybatis-spring

    首先阅读官方网址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>

 

  • 自动生成generator和分页

       参考mbg自动生成文档 mybatis-generator-core-1.3.1 主要有两步要做:

  1. with maven,添加maven运行。
  2. 设定configure信息。其中设置不自动生成example类,需要*ByExample都设置为false 才可的;其次指定生成包targetPackage和相对路径targetProject。例如
        <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文件
  3. 具体的mapper类的sql语法,请参考MyBatis-3-User-Guide-Simplified-Chinese.pdf和MyBatis-SqlMaps-2_en.pdf,都在http://code.google.com/p/mybatis/
  • 分页类

          利用mybatis的Interceptor接口实现插件开发的。主要有三种方式。

  1.   参考的网上的可自动拼装sql获取总数量以及分页,由于自己的例子是针对oracle的,因此实现了oracle获取总数和分页的,实现效果简洁高效;其中拷贝BoundSql对象会丢失additionalParameters的问题也出现过,因此没必要拷贝BoundSql,直接修改BoundSql对象就可了
  2. 参考hibernate的分页,感觉没多大用处,而且实现的效果也不很好的。
  3. 添加自动生成generator的plugin,自动生成带有分页的sql语句,感觉灵活性不高的。

 

 

这样,就可搞定spring3和mybatis的搭配的基本问题。实现了自动生成和分页。至于一些其他的更多需求,也是一样的步骤和思路,参考文档,参考实例,动手搭配,边动手边总结,很快就可搞定很多所谓复杂的问题。附件是简单的框架实例。请参考!

 

分享到:
评论
7 楼 atgoingguoat 2014-11-19  
不错。好人。基础的东西都有。
6 楼 xuhai0605 2014-11-09  
顶,不错。
5 楼 Ganymede 2014-01-02  
谢谢分享,
4 楼 kewei89767396 2012-11-28  
好贴  
3 楼 zhuchao_ko 2012-11-10  
2 楼 Angi 2012-03-14  
哈哈,顶你!
写的蛮详细哦!
谢谢分享!
1 楼 bukebuhao 2012-02-25  
为啥没有人说句话呢,有点郁闷

相关推荐

    Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境

    Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境

    基于maven+spring+spring mvc+mybatis 框架web项目

    在IT行业中,构建Web应用程序是一项常见的任务,而“基于maven+spring+spring mvc+mybatis框架web项目”提供了一个适用于初学者的学习路径。这个项目利用了四个关键的技术组件,它们分别是Maven、Spring、Spring MVC...

    Maven+spring+spring MVC+Mybatis开发范例

    "Maven+Spring+Spring MVC+Mybatis"的组合是Java Web开发中非常流行的技术栈,它提供了全面的解决方案,涵盖了项目构建、依赖管理、应用层服务、表现层控制以及数据持久化等各个方面。下面将详细阐述这些技术及其在...

    Eclipse+Maven+Struts2+Spring+Mybatis完整搭建代码

    公司框架是SSH,hibernate用的越来越少,做了几年后,也懒得用了,springjdbc玩到现在,maven,mybatis没用到一直都没去接触,感慨现在技术真是发展越来越快,有点落伍了,最近刚好私下接了个小项目,心想何不用maven...

    mybatis-generator-maven-plugin-1.3.2.jar

    java运行依赖jar包

    maven+springmvc+redis+mybatis整合

    本项目以“maven+springmvc+redis+mybatis整合”为主题,旨在提供一个基于这些技术的集成框架,特别强调了利用Redis作为缓存来提升应用性能。下面将详细阐述这个框架中的各个组成部分以及它们之间的协作。 首先,...

    maven+struts2+spring+mybatis+springMVC

    本项目"maven+struts2+spring+mybatis+springMVC"就是一个典型的Java Web应用开发组合,利用了这些框架的优势进行集成,实现了数据持久化、业务逻辑处理、视图展示以及依赖管理等多个层面的功能。 首先,我们来详细...

    maven+Spring+SpringMVC+mybatis+mybatis-generator 搭建SSM开发环境

    本文将深入探讨如何使用Maven来搭建一个基于SSM的开发环境,并结合MyBatis Generator进行自动化代码生成。 **一、Maven简介** Maven是一个项目管理和综合工具,它通过读取项目配置文件(pom.xml)来管理项目的构建...

    maven+spring+smvc+mybatis

    【标题】"maven+spring+smvc+mybatis"是一个经典的Java Web开发框架组合,通常用于构建高效、模块化且可维护的企业级应用程序。这个项目实例包含了maven(项目管理工具)、Spring(全面的企业应用框架)、Spring MVC...

    两个Maven+Spring+Spring MVC+MyBatis+MySQL项目加数据库Demo

    在IT行业中,构建Web应用程序是一项常见的任务,而“两个Maven+Spring+Spring MVC+MyBatis+MySQL项目加数据库Demo”就是一个典型的Java Web开发示例。这个项目使用了几个核心的技术栈,包括Maven、Spring框架、...

    mybatis-plus-generator-maven-plugin-1.0.0.jar

    为了在项目中快捷方便的代码生成,将mybatis-plus-generator封装为了一个maven的插件`mybatis-plus-generator-maven-plugin。使用文档参考:https://blog.csdn.net/xiweiller/article/details/103072165

    maven+spring+springMVC+mybatis

    maven+spring+springMVC+mybatis 框架搭建 Maven 是一个优秀的项目管理和构建工具,Spring 是一个广泛使用的 Java 框架,SpringMVC 是基于 Spring 的一个 Web 框架,MyBatis 是一个持久层框架。在这个项目中,我们...

    mybatis-plus-generator-maven-plugin-1.0.0依赖的pom.xml

    mybatis-plus-generator-maven-plugin-v1.0.0依赖的pom.xml,用于mybatis-plus-generator-maven-plugin-1.0.0.jar本地仓库上传时依赖使用

    mybatis-generator-maven-plugin-1.4.0.jar

    java运行依赖jar包

    maven+springmvc+spring+mybatis

    【标题】"maven+springmvc+spring+mybatis"是一个经典的Java Web开发技术栈,它结合了四个关键组件:Maven(项目管理工具),Spring MVC(MVC框架),Spring(核心框架)以及MyBatis(持久层框架)。这个组合在企业...

    Maven + spring + spring mvc + mybatis 整合例子

    以下是关于Maven、Spring、Spring MVC和MyBatis的详细知识点: 1. Maven: Maven是一个项目管理和综合工具,它通过定义项目构建过程,依赖管理和项目信息管理来简化Java项目的构建。Maven使用XML格式的`pom.xml`...

    maven+spring MVC+Mybatis+jetty+mysql

    "maven+spring MVC+Mybatis+jetty+mysql" 的组合是常见的开发栈,它涵盖了项目管理、前端控制器、持久层操作、应用服务器以及数据库管理等多个层面。下面将详细介绍这些关键技术及其在实际应用中的作用。 1. Maven...

    maven+spring+spring mvc+mybatis整合实现ssm通用基础开发框架

    1. **搭建环境**:首先确保安装了Java环境,然后配置Maven,创建Maven项目,并在pom.xml中添加Spring、Spring MVC、MyBatis及它们的依赖。 2. **配置Spring**:创建Spring的配置文件,配置Bean、AOP、数据源、事务...

    基于注解的Spring+Struts2+Mybatis+Maven项目

    【基于注解的Spring+Struts2+Mybatis+Maven项目详解】 在现代Web开发中,Spring、Struts2、Mybatis和Maven是四个非常重要的组件,它们各自负责不同的职责,共同构建了一个高效、灵活且易于维护的Java Web应用。这个...

Global site tag (gtag.js) - Google Analytics