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集成开发实例
Spring+Ibatis集成开发实例
public interface IDAO {
Spring+Ibatis集成开发实例  
public List getList();
Spring+Ibatis集成开发实例  
public Ibatis getByName(String name);
Spring+Ibatis集成开发实例  
public Ibatis getById(String id);
Spring+Ibatis集成开发实例  
public void save(Ibatis ibatis);
Spring+Ibatis集成开发实例  
public void delete(String id);
Spring+Ibatis集成开发实例  
public void update(Ibatis ibatis);
Spring+Ibatis集成开发实例}

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集成开发实例
Spring+Ibatis集成开发实例
public class TestDAO extends SqlMapClientDaoSupport implements IDAO {
Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例    
public void delete(String id) {
Spring+Ibatis集成开发实例        getSqlMapClientTemplate().delete(
"deleteUsers", id);
Spring+Ibatis集成开发实例    }

Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例    
public Ibatis getById(String id) {
Spring+Ibatis集成开发实例        
return (Ibatis)getSqlMapClientTemplate().queryForObject("getUsersById",id);
Spring+Ibatis集成开发实例    }

Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例    
public Ibatis getByName(String name) {
Spring+Ibatis集成开发实例        
Spring+Ibatis集成开发实例        
return (Ibatis)getSqlMapClientTemplate().queryForObject("getUsersByName",name);
Spring+Ibatis集成开发实例    }

Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例    
public List getList() {
Spring+Ibatis集成开发实例        
return getSqlMapClientTemplate().queryForList("getAllUsers",null);
Spring+Ibatis集成开发实例    }

Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例    
public void save(Ibatis ibatis) {
Spring+Ibatis集成开发实例        getSqlMapClientTemplate().insert(
"insertUsers",ibatis);
Spring+Ibatis集成开发实例    }

Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例    
public void update(Ibatis ibatis) {
Spring+Ibatis集成开发实例        getSqlMapClientTemplate().update(
"updateUsers", ibatis);
Spring+Ibatis集成开发实例    }

Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例}

Spring+Ibatis集成开发实例

domain对象

 

Spring+Ibatis集成开发实例package ch10.SpringAndIbatis;
Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例
public class Ibatis {
Spring+Ibatis集成开发实例  
Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例
private String id;
Spring+Ibatis集成开发实例   
private String name;
Spring+Ibatis集成开发实例   
public String getId() {
Spring+Ibatis集成开发实例        
return id;
Spring+Ibatis集成开发实例   }

Spring+Ibatis集成开发实例   
public void setId(String id) {
Spring+Ibatis集成开发实例        
this.id = id;
Spring+Ibatis集成开发实例   }

Spring+Ibatis集成开发实例   
public String getName() {
Spring+Ibatis集成开发实例        
return name;
Spring+Ibatis集成开发实例   }

Spring+Ibatis集成开发实例   
public void setName(String name) {
Spring+Ibatis集成开发实例        
this.name = name;
Spring+Ibatis集成开发实例   }

Spring+Ibatis集成开发实例   
public Ibatis(){
Spring+Ibatis集成开发实例       
Spring+Ibatis集成开发实例   }

Spring+Ibatis集成开发实例
public Ibatis(String id, String name) {
Spring+Ibatis集成开发实例    
super();
Spring+Ibatis集成开发实例    
this.id = id;
Spring+Ibatis集成开发实例    
this.name = name;
Spring+Ibatis集成开发实例}

Spring+Ibatis集成开发实例}

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集成开发实例
Spring+Ibatis集成开发实例
public class Test {
Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例    
/**
Spring+Ibatis集成开发实例     * 
@param args
Spring+Ibatis集成开发实例     
*/

Spring+Ibatis集成开发实例    
public static void main(String[] args) {
Spring+Ibatis集成开发实例        ApplicationContext context
=new ClassPathXmlApplicationContext("ch10/SpringAndIbatis/applicationContext.xml");
Spring+Ibatis集成开发实例        TestDAO testDAOImpl
=(TestDAO)context.getBean("testDAO");
Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例        
//获得全查询列表
Spring+Ibatis集成开发实例
        System.out.println("获得全查询列表");
Spring+Ibatis集成开发实例        List result
=new ArrayList();
Spring+Ibatis集成开发实例        result
=testDAOImpl.getList();
Spring+Ibatis集成开发实例        
for (Iterator iter = result.iterator(); iter.hasNext();) {
Spring+Ibatis集成开发实例            Ibatis element 
= (Ibatis) iter.next();
Spring+Ibatis集成开发实例            System.out.println(element.getName());
Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例        }
    
Spring+Ibatis集成开发实例        
Spring+Ibatis集成开发实例       
//依据username获得用户对象
Spring+Ibatis集成开发实例
        System.out.println("依据username获得用户对象");
Spring+Ibatis集成开发实例        Ibatis ibatis
=testDAOImpl.getByName("1");
Spring+Ibatis集成开发实例        System.out.println(ibatis.getName());
Spring+Ibatis集成开发实例        
Spring+Ibatis集成开发实例       
//依据id获得用户对象
Spring+Ibatis集成开发实例
        System.out.println("依据id获得用户对象");
Spring+Ibatis集成开发实例        Ibatis ibatis1
=testDAOImpl.getById("1");
Spring+Ibatis集成开发实例        System.out.println(ibatis.getName());
Spring+Ibatis集成开发实例        
Spring+Ibatis集成开发实例       
//新增用户对象
Spring+Ibatis集成开发实例
        System.out.println("-----------------");
Spring+Ibatis集成开发实例        System.out.println(
"新增用户对象前");
Spring+Ibatis集成开发实例        List result1
=new ArrayList();
Spring+Ibatis集成开发实例        result1
=testDAOImpl.getList();
Spring+Ibatis集成开发实例        
for (Iterator iter = result1.iterator(); iter.hasNext();) {
Spring+Ibatis集成开发实例            Ibatis element 
= (Ibatis) iter.next();
Spring+Ibatis集成开发实例            System.out.println(element.getName());
Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例        }
    
Spring+Ibatis集成开发实例        testDAOImpl.save(
new Ibatis("3","3")); //新增用户
Spring+Ibatis集成开发实例
        System.out.println("新增用户对象后");
Spring+Ibatis集成开发实例        List result2
=new ArrayList();
Spring+Ibatis集成开发实例        result2
=testDAOImpl.getList();
Spring+Ibatis集成开发实例        
for (Iterator iter = result2.iterator(); iter.hasNext();) {
Spring+Ibatis集成开发实例            Ibatis element 
= (Ibatis) iter.next();
Spring+Ibatis集成开发实例            System.out.println(element.getName());
Spring+Ibatis集成开发实例        }
    
Spring+Ibatis集成开发实例        System.out.println(
"-----------------");
Spring+Ibatis集成开发实例        
Spring+Ibatis集成开发实例        
//删除用户对象
Spring+Ibatis集成开发实例
        System.out.println("-----------------");
Spring+Ibatis集成开发实例        System.out.println(
"删除用户对象前");
Spring+Ibatis集成开发实例        List result3
=new ArrayList();
Spring+Ibatis集成开发实例        result3
=testDAOImpl.getList();
Spring+Ibatis集成开发实例        
for (Iterator iter = result3.iterator(); iter.hasNext();) {
Spring+Ibatis集成开发实例            Ibatis element 
= (Ibatis) iter.next();
Spring+Ibatis集成开发实例            System.out.println(element.getName());
Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例        }
    
Spring+Ibatis集成开发实例        testDAOImpl.delete(
"3"); //删除用户
Spring+Ibatis集成开发实例
        System.out.println("删除用户对象后");
Spring+Ibatis集成开发实例        List result4
=new ArrayList();
Spring+Ibatis集成开发实例        result4
=testDAOImpl.getList();
Spring+Ibatis集成开发实例        
for (Iterator iter = result4.iterator(); iter.hasNext();) {
Spring+Ibatis集成开发实例            Ibatis element 
= (Ibatis) iter.next();
Spring+Ibatis集成开发实例            System.out.println(element.getName());
Spring+Ibatis集成开发实例        }
    
Spring+Ibatis集成开发实例        System.out.println(
"-----------------");
Spring+Ibatis集成开发实例        
Spring+Ibatis集成开发实例        
Spring+Ibatis集成开发实例        
//更新用户对象
Spring+Ibatis集成开发实例
        System.out.println("-----------------");
Spring+Ibatis集成开发实例        System.out.println(
"更新用户对象前");
Spring+Ibatis集成开发实例        List result5
=new ArrayList();
Spring+Ibatis集成开发实例        result5
=testDAOImpl.getList();
Spring+Ibatis集成开发实例        
for (Iterator iter = result5.iterator(); iter.hasNext();) {
Spring+Ibatis集成开发实例            Ibatis element 
= (Ibatis) iter.next();
Spring+Ibatis集成开发实例            System.out.println(element.getName());
Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例        }
    
Spring+Ibatis集成开发实例        
Spring+Ibatis集成开发实例        Ibatis ibatis3
=testDAOImpl.getById("1");
Spring+Ibatis集成开发实例        ibatis3.setName(
"new1");
Spring+Ibatis集成开发实例        testDAOImpl.update(ibatis3);
//更新用户对象
Spring+Ibatis集成开发实例
        
Spring+Ibatis集成开发实例        
Spring+Ibatis集成开发实例        System.out.println(
"更新用户对象后");
Spring+Ibatis集成开发实例        List result6
=new ArrayList();
Spring+Ibatis集成开发实例        result6
=testDAOImpl.getList();
Spring+Ibatis集成开发实例        
for (Iterator iter = result6.iterator(); iter.hasNext();) {
Spring+Ibatis集成开发实例            Ibatis element 
= (Ibatis) iter.next();
Spring+Ibatis集成开发实例            System.out.println(element.getName());
Spring+Ibatis集成开发实例        }
    
Spring+Ibatis集成开发实例        System.out.println(
"-----------------");
Spring+Ibatis集成开发实例        
Spring+Ibatis集成开发实例     }

Spring+Ibatis集成开发实例
Spring+Ibatis集成开发实例}

Spring+Ibatis集成开发实例

 

測试结果:

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

Spring+Ibatis集成开发实例,布布扣,bubuko.com

Spring+Ibatis集成开发实例

上一篇:python制作安装包(setup.py)


下一篇:使用 JavaFX 2.0 布置用户界面