`
xiajin2080
  • 浏览: 36954 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
  • Airflare: 你这也不对啊,各种报错啊!DocumentHelper哪来的啊 ...
    XML读写
  • myali88: 为什么我用$.getJSON请求返回的始终是一个JSON格式的 ...
    jQuery+JSON

Spring整合iBatis

阅读更多
1.applicationContext-common.xml
<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
	     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	     xmlns:aop="http://www.springframework.org/schema/aop"
	     xmlns:tx="http://www.springframework.org/schema/tx"
	     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
	
	<!-- 配置数据源 -->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
        <property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl"/>
        <property name="username" value="system"/>
        <property name="password" value="xiajinjin"/>
    </bean>

	<!-- 配置事务管理器 -->
	<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource">
			<ref bean="dataSource"/>
		</property>
	</bean>
	
	<!-- 配置事务的传播特性 -->
	<tx:advice id="txAdvice" transaction-manager="transactionManager">
		<tx:attributes>
			<tx:method name="*" propagation="REQUIRED"/>
		</tx:attributes>
	</tx:advice>

	<!-- 配置哪些类的哪些方法进行事务管理	 -->
	<aop:config>
		<aop:pointcut id="allManagerMethod" expression="execution(* com.xiajin.dao.*.*(..))"/>
		<aop:advisor pointcut-ref="allManagerMethod" advice-ref="txAdvice"/>
	</aop:config>
	
	<!-- SqlMapClient对象的配置 -->
	<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
		<property name="configLocation"><value>classpath:sqlMapConfig.xml</value></property>
		<property name="dataSource" ref="dataSource"></property>
	</bean>
</beans>

2.sqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE sqlMapConfig      
    PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"      
    "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">

<sqlMapConfig>
	<settings lazyLoadingEnabled="true" useStatementNamespaces="true" />
	<sqlMap resource="com/xiajin/maps/Person.xml" />
</sqlMapConfig>


3.Person.xml
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE sqlMap 
    PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" 
    "http://www.ibatis.com/dtd/sql-map-2.dtd">

<sqlMap namespace="Person">

	<typeAlias alias="Person" type="com.xiajin.model.Person" />
	<!-- Use primitive wrapper type (e.g. Integer) as parameter and allow results to
		be auto-mapped results to Person object (Java Bean) properties -->
	<select id="getPerson" parameterClass="int"
		resultClass="com.xiajin.model.Person">
		SELECT id as id, first_Name as firstName, lastName as lastName,
		weightInKilograms as weightInKilograms, heightInMeters as
		heightInMeters FROM PERSON WHERE id = #id#
	</select>
	<insert id="insertPerson" parameterClass="Person">
		<selectKey resultClass="int" keyProperty="id">
			<![CDATA[SELECT PERSON_SEQUENCE.NEXTVAL AS ID FROM DUAL]]>
		</selectKey>
		insert into
		person(id,first_Name,lastName,weightInKilograms,heightInMeters)
		values(#id#,#firstName#,#lastName#,#weightInKilograms#,#heightInMeters#)
	</insert>

</sqlMap>



4.web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
	xmlns="http://java.sun.com/xml/ns/j2ee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
   <context-param>
    	<param-name>contextConfigLocation</param-name>
    	<param-value>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml</param-value>
   </context-param>
 
  <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>  
</web-app>

5.IPersonDAO.java
public interface IPersonDAO {

	public void savePerson(Person person);
}


6.IPersonDAOImpl.java
]public class IPersonDAOImpl extends SqlMapClientDaoSupport implements IPersonDAO {

	@Override
	public void savePerson(Person person) {
		
		getSqlMapClientTemplate().insert(person.getClass().getSimpleName()+".insertPerson",person);
		
	}

}

7.applicationContext-beans.xml
<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
	     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	     xmlns:aop="http://www.springframework.org/schema/aop"
	     xmlns:tx="http://www.springframework.org/schema/tx"
	     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">


	<bean id="personDAOImpl" class="com.xiajin.dao.impl.IPersonDAOImpl">
		<property name="sqlMapClient" ref="sqlMapClient"></property>
	</bean>

	
</beans>



8.Spring_iBatis.java

public class Spring_iBatis {

	private static BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext-*.xml");
	
	public static void main(String[] args) {
		IPersonDAO personDAO=(IPersonDAO)factory.getBean("personDAOImpl");
		Person person=new Person();
		person.setFirstName("abcd");
		person.setLastName("efghi");
		person.setWeightInKilograms(2);
		person.setHeightInMeters(4);
		personDAO.savePerson(person);
	}

}
分享到:
评论

相关推荐

    spring整合ibatis

    Spring整合iBatis是将流行的Java持久层框架iBatis与Spring框架集成,以实现更高效、更灵活的数据库操作。这种整合使得开发者可以利用Spring的依赖注入(DI)和管理事务的能力,同时享受iBatis提供的SQL映射功能。在...

    Spring整合ibatis

    ### Spring整合ibatis知识点详解 #### 一、Spring与ibatis简介 - **Spring框架**:Spring是一个开源的Java平台框架,它为开发Java应用程序提供了一种全面的基础架构支持。Spring的核心特性包括依赖注入(DI)、...

    spring ibatis整合所需jar包

    8. 整合测试:编写测试类,通过@Autowired注解注入DAO接口,进行数据库操作的测试,确保Spring和iBatis的整合成功。 通过以上步骤,Spring和iBatis的整合就完成了。这种整合方式允许开发者充分利用Spring的高级特性...

    Spring 整合 iBATIS 文档 详解 加 源代码

    本文将深入探讨Spring整合iBATIS的过程,以及如何通过源代码理解和实践这一过程。 首先,了解iBATIS的基本概念。iBATIS是一个SQL映射框架,它将SQL语句与Java代码分离,使得开发者可以专注于SQL的编写,同时避免了...

    spring 集成ibatis

    通过以上知识点的整合,我们可以构建出一个健壮且易于维护的 Java 应用,充分利用 Spring 的管理和 iBatis 的数据库操作能力。在实际项目中,这种集成方式可以极大地提升开发效率,同时保持代码的清晰和模块化。在...

    iBatis和Spring整合

    iBatis和Spring整合 iBatis和Spring整合

    spring集成ibatis示例-websphere5.1选型webservice

    在本示例中,我们将探讨如何在Spring框架中集成iBATIS,并且将这个集成应用部署到WebSphere 5.1服务器上,并提供一个基于Web服务的接口。首先,我们需要理解Spring和iBATIS的基本概念。 Spring是一个开源的Java企业...

    spring+ibatis集成文档

    接下来是Spring的配置文件`applicationContext.xml`,用于整合iBatis和Spring框架: ```xml &lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...

    Spring与iBATIS的集成

    Spring与iBATIS的集成 iBATIS似乎已远离众说纷纭的OR框架之列,通常人们对非常流行的Hibernate情有独钟。但正如Spring A Developer's Notebook作者Bruce Tate 和Justin Gehtland所说的那样,与其他的OR框架相比...

    Spring集成iBatis

    **Spring集成iBatis详解** 在Java开发中,Spring框架以其强大的依赖注入和面向切面编程能力被广泛应用,而iBatis作为一个轻量级的持久层框架,它将SQL语句与Java代码分离,提供了更灵活的数据访问方式。将Spring与...

    spring与ibatis整合集成实例

    以上就是 Spring 与 iBATIS 整合集成的主要步骤和知识点。通过这样的集成,可以利用 Spring 的强大功能管理和协调整个应用程序,同时利用 iBATIS 的灵活性处理数据库操作,实现高效的企业级应用开发。在实际项目中,...

    Spring对IBatis的整合

    ### Spring对IBatis的整合 #### 一、Spring与IBatis整合概述 Spring框架与IBatis(现称为MyBatis)的整合为开发者提供了一种更简洁、更强大的数据库访问方式。Spring通过其内置的支持机制极大地简化了原有的IBatis...

    Ibatis和Spring整合例子,实现增删改查功能

    Ibatis和Spring整合例子,实现增删改查功能.

    spring-ibatis简单集成

    在IT行业中,Spring框架与iBatis的集成是常见的数据访问解决方案,特别是在Java Web开发中。...通过上述步骤,开发者可以快速地在项目中实现Spring与iBatis的整合,从而更好地管理和控制数据库操作。

    maven搭建SpringMVC+spring+ibatis

    Ibatis与Spring框架集成后,可以使用Spring的DI功能管理数据库连接,同时通过MyBatis-Spring提供的MapperScannerConfigurer自动扫描并注册Mapper接口,实现DAO层的便捷开发。 在SpringMVC+Spring+Ibatis的架构中,...

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis是两种常见的Java Web应用程序集成框架,它们分别基于ORM框架Hibernate和轻量级数据访问框架Ibatis。这两种框架结合Spring,旨在提供一个强大的、可扩展的、易于...

Global site tag (gtag.js) - Google Analytics