`
zscomehuyue
  • 浏览: 412059 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

发现有人已经为Spring3增加了这一部分的功能,

阅读更多


iBatis3已经发布了,

但是Spring3却没有相应的ORM包,

在网上查了一下,

发现有人已经为Spring3增加了这一部分的功能,

使iBatis3可以在通过Spring3来管理和使用,

下载此Jar包 ,并将其放到你的classpath中,

之后在Spring的配置文件中,进行如下配置:
01 <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
02 <property name="locations">
03 <list>
04                 <value>
05                     classpath:conf/spring/jdbc.properties
06                 </value>
07             </list>
08         </property>
09     </bean> 
10
11     <!-- 数据源 -->
12     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
13 <property name="driverClassName" value="${database.driver}">
14 <property name="url" value="${database.url}">
15 <property name="username" value="${database.username}">
16 <property name="password" value="${database.password}">
17     </property></property></property></property></bean>
18
19     <bean id="sqlSessionFactory" class="org.springframework.orm.ibatis3.SqlSessionFactoryBean">
20 <property name="configLocation" value="classpath:conf/ibatis/ibatis-config.xml">
21 <property name="dataSource" ref="dataSource">
22     </property></property></bean>

其中,jdbc.properties是数据库的配置文件:
1 database.driver=com.mysql.jdbc.Driver
2 database.password=123456
3 database.url=jdbc\:mysql\://localhost/oem
4 database.username=puras

配置好DataSource之后,接下来则需要配置iBatis的相关文件了,
首先是ibatis-config.xml:
1 <!--?xml version="1.0" encoding="UTF-8" ?-->
2
3 <configuration>
4 <mappers>
5 <mapper resource="conf/ibatis/user_mapper.xml">
6     </mapper></mappers>
7 </configuration>

这里添加了一个Mapper,下面是User_mapper.xml的内容:
1 <!--?xml version="1.0" encoding="UTF-8" ?-->
2
3 <mapper namespace="org.mooko.yushu.persistence.mapper.UserMapper">
4 </mapper>

这里没有像iBatis2中那么多的配置,
只有一个mapper,
而namespace则是必须要写的,

下面再来看看UserMapper,你会发现,与iBatis2的区别:
01 /*******************************************************************************
02 * @(#)UserMapper.java 2010-4-28
03 *
04 * Copyright 2010 Neusoft Group Ltd. All rights reserved.
05 * Neusoft PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
06 *******************************************************************************/
07 package org.mooko.yushu.persistence.mapper;
08
09 import java.util.List;
10
11 import org.apache.ibatis.annotations.Select;
12 import org.mooko.yushu.domain.user.User;
13
14 /**
15 * @author <a href="mailto:hegq@neusoft.com">Puras.He</a>
16 * @version $Revision 1.1 $ 2010-4-28 下午03:49:28
17 */
18 public interface UserMapper {
19     @Select("select id, email, passwd, created_at as createdAt, updated_at as updatedAt from user where email=#{email} and passwd=#{passwd}")
20     User getUser(User user);
21
22     @Select("select * from user")
23     List<user> getUsers();
24 }
25 </user>

看到了么?以前在XML中的SQL语句,全部在Java中通过注解的方式来实现了

现在需要做的,就是在Spring中声明这个Mapper了,
1     <bean id="userMapper" class="org.springframework.orm.ibatis3.support.MapperFactoryBean">
2 <property name="sqlSessionFactory" ref="sqlSessionFactory">
3 <property name="mapperInterface" value="org.mooko.yushu.persistence.mapper.UserMapper">
4     </property></property></bean>

再将这个Mapper注入到Service中:
1      <bean id="sayService" class="org.mooko.yushu.service.impl.SayServiceImpl">
2 <property name="userMapper" ref="userMapper">
3      </property></bean>

这样,你就可以在Service中使用这个Mapper了。

PS:厌烦了XML的配置,
现在换成注解的方式来写SQL,
是不是有种不一样的感觉呢?
分享到:
评论

相关推荐

    spring第一天课堂笔记

    Spring框架凭借其丰富的功能和优秀的设计,成为了现代Java企业级应用开发不可或缺的一部分。无论是从技术角度还是从实际应用场景来看,Spring都是一个值得深入学习和使用的框架。通过学习Spring框架,开发者不仅可以...

    Spring3Demo

    总之,Spring3Demo项目是一个理想的起点,对于想要了解或提升Spring框架注解使用技巧的人来说,这是一个宝贵的资源。通过这个项目,你可以学习到如何通过注解实现依赖注入,以及如何利用类扫描来自动化bean的注册和...

    spring-framework-3.0.2-dependencies

    Spring 框架是Java开发领域中不可或缺的一部分,它提供了一个全面的编程和配置模型,旨在简化企业级应用的创建和维护。Spring 3.0.2 是该框架的一个重要版本,虽然它已经不再更新,但依然在许多现有的项目中被广泛...

    spring源码+spring所需jar包

    6. **MVC框架**:Spring MVC是Spring的一部分,它为构建Web应用程序提供了一个模型-视图-控制器架构,提高了开发效率。 二、Spring源码分析 Spring源码的阅读可以帮助我们理解其内部机制,尤其是对于想要进行扩展...

    spring_2021.7.14.zip

    标题中的"spring_2021.7.14.zip"表明这是一份关于Spring框架的资料,时间戳为2021年7月14日,...对于想要学习或复习Spring框架的人来说,这是一个宝贵的资料库,可以系统性地了解和掌握Spring的核心功能和最佳实践。

    传智播客2016spring资料4

    总之,这份“传智播客2016spring资料4”是Spring框架学习的重要资源,涵盖了一系列核心概念和技术,对于想深入理解和掌握Spring框架的人来说,是非常宝贵的参考资料。通过学习这些内容,开发者能够提升自己的技能,...

    spring3src

    Spring框架是Java开发中不可或缺的一部分,它以其模块化、易用性和灵活性著称。"spring3src"这个标题指的是Spring框架的第三个主要版本——Spring 3的源代码。这个压缩包"SPRING3_SRC.zip"包含了Spring 3的源代码,...

    springCloud

    二:服务介绍: 1) 服务的注册与发现 Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中涉及的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、...

    Struts2 + Spring3 + Hibernate3.5 整合(集成测试配套jar包更新构建脚本使用说明)

    这个资源在去年发布了第一版,已经有很多朋友下了觉得对他们有帮助,所以我才再发了一个第二版,希望对有需要的朋友有所帮助。本版本全面更新了jar包,全部使用了当前最新版本的jar包,struct2.1.8 spring3 ...

    Spring2.rar

    Spring框架是Java开发中不可或缺的一部分,它以IoC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入)为核心,极大地简化了企业级应用的开发工作。本资料包"Spring2.rar"旨在帮助那些熟悉...

    Spring MVC 入门实例

    如果你手上有一本《Spring in Action》, 那么你最好从第三部分"Spring 在 Web 层的应用--建立 Web 层"开始看, 否则那将是一场恶梦! 首先, 我需要在你心里建立起 Spring MVC 的基本概念. 基于 Spring 的 Web 应用...

    spring源码(3.0.0和3.0.4)

    虽然这个版本只包含源码,没有完整的文档和库,但对于熟悉Spring的人来说,通过源码可以直接了解其内部改进和bug修复,有助于深入理解框架的工作方式。 Spring框架的核心模块包括IoC(Inversion of Control,控制...

    Spring相关的外文文献和翻译,spring论文参考文献,Java

    Spring框架是Java开发中的核心组件,它为构建企业级应用提供了全面的解决方案。Spring以其依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)等特性,极大地简化了Java应用的...

    Tom_深入分析Spring源码

    最后,Spring的事件驱动模型也是其强大功能的一部分。ApplicationEvent和ApplicationListener接口让我们可以在Spring应用中实现事件的发布和监听,这是实现松耦合和组件间通信的有效手段。 通过深入阅读和分析...

    狂神 Spring5课堂笔记

    - **Spring Cloud**:Spring Cloud 是基于Spring Boot构建的一套微服务解决方案,它利用Spring Boot的特性简化了分布式系统基础设施的开发,如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌...

    spring4.0.1源码

    Spring框架是Java开发中不可或缺的一部分,它以其模块化、易扩展和强大的依赖注入特性而闻名。Spring 4.0.1是Spring框架的一个重要版本,它在4.0系列中引入了许多改进和新功能,旨在提升性能、兼容性和开发者体验。...

    spring mail

    Spring Mail 是一个在...总的来说,Spring Mail为开发者提供了一个简单易用的邮件发送工具,通过与Spring框架的集成,使得在Java应用中实现邮件功能变得高效且可控。只需正确配置和调用,即可轻松完成邮件的发送任务。

    springframework2.5源代码

    3. **Bean工厂和ApplicationContext**:Bean工厂是Spring管理对象的主要容器,而ApplicationContext在Bean工厂的基础上增加了国际化、事件传播和资源加载等功能。2.5版对这两种容器进行了优化,提高了初始化性能。 ...

    springjpa 和 spring多视图配置实例

    首先,Spring MVC是Spring框架的一部分,专门用于构建Web应用程序的模型-视图-控制器(MVC)架构。它允许开发者将业务逻辑、数据处理和用户界面分离,从而实现更清晰的代码结构。在Spring MVC中,Controller负责接收...

    SpringCloud笔记+思维导图

    它基于Spring Boot进行快速构建分布式系统,提供了服务发现、配置中心、负载均衡、熔断器、路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态等全面的功能。这组笔记和思维导图旨在帮助...

Global site tag (gtag.js) - Google Analytics