Spring与Ibatis整合

  最近看《Spring实战》的书,沿着书籍一章一章学习,这次学到spring对数据访问的支持,写一个spring与ibatis整合的例子。

DAO接口

package com.dao;

import com.common.Person;

public interface IPerson {
	public boolean insertPerson(Person person);
}

DAO实现类

package com.dao.impl;

import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;

import com.common.Person;
import com.dao.IPerson;

public class PersonImpl extends SqlMapClientDaoSupport implements IPerson{

	@Override
	public boolean insertPerson(Person person) {
		this.getSqlMapClientTemplate().insert("insertPerson",person);
		return false;
	}

}

Spring配置文件,整合ibatis文件【applicationContext.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:p="http://www.springframework.org/schema/p"  
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.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:@localhost:1521:orcl" />  
        <property name="username" value="CQGT0325" />  
        <property name="password" value="1" />  
    </bean>  
  
    <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">  
        <property name="configLocation">  
            <value>classpath:config/sqlmap/sqlMapConfig.xml</value>
        </property>  
        <property name="dataSource">  
            <ref local="dataSource" />  
        </property>  
    </bean>  

    <bean id="personDAO" class="com.dao.impl.PersonImpl">  
        <property name="sqlMapClient">  
            <ref local="sqlMapClient"/>  
        </property>     
    </bean> 

</beans>  

Ibatis整合文件【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 cacheModelsEnabled="false" enhancementEnabled="true"
		lazyLoadingEnabled="false" errorTracingEnabled="true"
		useStatementNamespaces="true" />

	<sqlMap resource="config/sqlmap/person.xml" />

</sqlMapConfig>

具体ibatis配置文件【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>  
    <typeAlias alias="person" type="com.common.Person" />  
      
    <insert id="insertPerson" parameterClass="person">  
       <![CDATA[ 
           insert into person values (#id#,#name#) 
       ]]>  
    </insert>  

</sqlMap>  

具体测试类【TestSpringIbatis.java】

package test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.common.Person;
import com.dao.IPerson;

public class TestSpringIbatis {
	public static void main(String[] args) {
		ApplicationContext context = new ClassPathXmlApplicationContext("classpath:config/spring/applicationContext.xml");
		Person person = new Person("1","xuxh");
		IPerson personDAO = (IPerson) context.getBean("personDAO");
		personDAO.insertPerson(person);
	}
}

附上工程结构图:


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值