Spring+Ibatis集成开发实例

首先简历数据库demo(本文选mysql)

数据库脚本:

Spring+Ibatis集成开发实例CREATE TABLE `ibatis` (
Spring+Ibatis集成开发实例  `id` 
varchar(20NOT NULL,
Spring+Ibatis集成开发实例  `name` 
varchar(20default NULL,
Spring+Ibatis集成开发实例  
PRIMARY KEY  (`id`)
Spring+Ibatis集成开发实例) ENGINE
=InnoDB DEFAULT CHARSET=gb2312;
Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例
insert into ibatis values("1","1");
Spring+Ibatis集成开发实例
insert into ibatis values("2","2");

DAO接口:

Spring+Ibatis集成开发实例package ch10.SpringAndIbatis;
Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例
import java.util.List;
Spring+Ibatis集成开发实例

Ibatis配置文件:

Spring+Ibatis集成开发实例<?xml version="1.0" encoding="UTF-8"?> 
Spring+Ibatis集成开发实例
<!DOCTYPE sqlMapConfig 
Spring+Ibatis集成开发实例PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" 
Spring+Ibatis集成开发实例"http://www.ibatis.com/dtd/sql-map-config-2.dtd"
> 
Spring+Ibatis集成开发实例
<sqlMapConfig> 
Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例
<sqlMap resource="ch10/SpringAndIbatis/Ibatis.xml" /> 
Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例
</sqlMapConfig>

ibatis sql map文件ibatis.xml:

Spring+Ibatis集成开发实例<?xml version="1.0" encoding="UTF-8" ?>
Spring+Ibatis集成开发实例
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd" >
Spring+Ibatis集成开发实例
<sqlMap >
Spring+Ibatis集成开发实例  
<typeAlias type="ch10.SpringAndIbatis.Ibatis" alias="user"/>
Spring+Ibatis集成开发实例  
<resultMap id="ibatisTest" class="user" >
Spring+Ibatis集成开发实例    
<result column="id" property="id" jdbcType="VARCHAR" />
Spring+Ibatis集成开发实例    
<result column="name" property="name" jdbcType="VARCHAR" />
Spring+Ibatis集成开发实例  
</resultMap>
Spring+Ibatis集成开发实例  
Spring+Ibatis集成开发实例  
<!-- 获得全查询列表 -->
Spring+Ibatis集成开发实例  
<select id="getAllUsers" resultMap="ibatisTest">
Spring+Ibatis集成开发实例    select * from Ibatis
Spring+Ibatis集成开发实例  
</select>
Spring+Ibatis集成开发实例  
Spring+Ibatis集成开发实例   
<!-- 依据username获得用户对象 -->
Spring+Ibatis集成开发实例   
<select id="getUsersByName" resultMap="ibatisTest">
Spring+Ibatis集成开发实例     select * from Ibatis where name=#value#
Spring+Ibatis集成开发实例  
</select> 
Spring+Ibatis集成开发实例  
Spring+Ibatis集成开发实例  
<!-- 依据id获得用户对象 -->
Spring+Ibatis集成开发实例    
<select id="getUsersById" resultMap="ibatisTest">
Spring+Ibatis集成开发实例     select * from Ibatis where id=#value#
Spring+Ibatis集成开发实例  
</select> 
Spring+Ibatis集成开发实例  
Spring+Ibatis集成开发实例   
<!-- 新增用户对象 -->
Spring+Ibatis集成开发实例   
<insert id="insertUsers" parameterClass="user">
Spring+Ibatis集成开发实例      insert into ibatis (id,name) values (#id#,#name#)
Spring+Ibatis集成开发实例   
</insert>
Spring+Ibatis集成开发实例   
Spring+Ibatis集成开发实例   
<!-- 删除用户对象 -->
Spring+Ibatis集成开发实例   
<delete id="deleteUsers">
Spring+Ibatis集成开发实例     delete from ibatis where id=#value#
Spring+Ibatis集成开发实例   
</delete>
Spring+Ibatis集成开发实例   
Spring+Ibatis集成开发实例   
<!-- 更新用户对象 -->
Spring+Ibatis集成开发实例   
<delete id="updateUsers" parameterClass="user">
Spring+Ibatis集成开发实例      update ibatis set name=#name# where id=#id#
Spring+Ibatis集成开发实例   
</delete>
Spring+Ibatis集成开发实例
</sqlMap>
Spring+Ibatis集成开发实例

spring配置文件

Spring+Ibatis集成开发实例<?xml version="1.0" encoding="UTF-8"?>
Spring+Ibatis集成开发实例
<beans
Spring+Ibatis集成开发实例    
xmlns="http://www.springframework.org/schema/beans"
Spring+Ibatis集成开发实例    xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
Spring+Ibatis集成开发实例    xsi:schemaLocation
="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
Spring+Ibatis集成开发实例  
<property name="driverClassName">
Spring+Ibatis集成开发实例    
<value>com.mysql.jdbc.Driver</value>
Spring+Ibatis集成开发实例  
</property>
Spring+Ibatis集成开发实例  
<property name="username">
Spring+Ibatis集成开发实例    
<value>root</value>
Spring+Ibatis集成开发实例  
</property>
Spring+Ibatis集成开发实例  
<property name="password">
Spring+Ibatis集成开发实例    
<value>1234</value>
Spring+Ibatis集成开发实例  
</property>
Spring+Ibatis集成开发实例  
<property name="url">
Spring+Ibatis集成开发实例    
<value>jdbc:mysql://localhost:3306/spring</value>
Spring+Ibatis集成开发实例  
</property>
Spring+Ibatis集成开发实例
</bean>
Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
Spring+Ibatis集成开发实例  
<!-- 此处应注入ibatis配置文件,而非sqlMap文件,否则会出现“there is no statement.....异常” -->
Spring+Ibatis集成开发实例  
<property name="configLocation">
Spring+Ibatis集成开发实例     
<value>ch10/SpringAndIbatis/sqlMapConfig.xml</value>
Spring+Ibatis集成开发实例  
</property>
Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例
</bean>
Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例
<bean id="testDAO" class="ch10.SpringAndIbatis.TestDAO">
Spring+Ibatis集成开发实例   
<property name="dataSource">
Spring+Ibatis集成开发实例   
<ref bean="dataSource"/>
Spring+Ibatis集成开发实例 
</property>
Spring+Ibatis集成开发实例  
<property name="sqlMapClient">
Spring+Ibatis集成开发实例    
<ref bean="sqlMapClient"/>
Spring+Ibatis集成开发实例  
</property>
Spring+Ibatis集成开发实例
</bean>
Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例
</beans>

DAO实现类:

Spring+Ibatis集成开发实例package ch10.SpringAndIbatis;
Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例
import java.util.List;
Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
Spring+Ibatis集成开发实例

domain对象

Spring+Ibatis集成开发实例package ch10.SpringAndIbatis;
Spring+Ibatis集成开发实例

測试代码:

Spring+Ibatis集成开发实例package ch10.SpringAndIbatis;
Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例
import java.util.ArrayList;
Spring+Ibatis集成开发实例
import java.util.Iterator;
Spring+Ibatis集成开发实例
import java.util.List;
Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例
import org.springframework.context.ApplicationContext;
Spring+Ibatis集成开发实例
import org.springframework.context.support.ClassPathXmlApplicationContext;
Spring+Ibatis集成开发实例

測试结果:

获得全查询列表
1
2
依据username获得用户对象
1
依据id获得用户对象
1
-----------------
新增用户对象前
1
2
新增用户对象后
1
2
3
-----------------
-----------------
删除用户对象前
1
2
3
删除用户对象后
1
2
-----------------
-----------------
更新用户对象前
1
2
更新用户对象后
new1
2
-----------------