Spring+Ibatis处理1对1数据表的例子
来源:百度文库 编辑:神马文学网 时间:2024/04/27 19:49:50
数据库结构(mysql)
create table customerDetail(CustomerDetailId varchar(10) primary key,DataDetail varchar(10));
create table customers(id varchar(10) primary key,
firstname varchar(10),
lastname varchar(10),
customerDetail varchar(10),
customerGross varchar(10),
foreign key (customerDetail) references customerDetail(CustomerDetailId),
foreign key (customerGross) references customerDetail(CustomerDetailId));
insert into customerdetail values("1","detail1");
insert into customerdetail values("2","detail2");
insert into customerdetail values("3","detail3");
insert into customers values("1","firstname1","lastname1","1",null);
insert into customers values("2","firstname2","lastname2","2","3");
customer和customerDetail是1对1的关系
customer和customerGossIp是1对1的关系
domain对象:
package ch10.SpringAndIbatisOneToOne;
import java.util.List;
public class Customers ...{
private String customerId;
private String firstName;
private String lastName;
private CustomerDetail customerDetail;
private CustomerDetail customerGossIp;
public CustomerDetail getCustomerDetail() ...{
return customerDetail;
}
public void setCustomerDetail(CustomerDetail customerDetail) ...{
this.customerDetail = customerDetail;
}
public CustomerDetail getCustomerGossIp() ...{
return customerGossIp;
}
public void setCustomerGossIp(CustomerDetail customerGossIp) ...{
this.customerGossIp = customerGossIp;
}
public String getCustomerId() ...{
return customerId;
}
public void setCustomerId(String customerId) ...{
this.customerId = customerId;
}
public String getFirstName() ...{
return firstName;
}
public void setFirstName(String firstName) ...{
this.firstName = firstName;
}
public String getLastName() ...{
return lastName;
}
public void setLastName(String lastName) ...{
this.lastName = lastName;
}
}
package ch10.SpringAndIbatisOneToOne;
public class CustomerDetail ...{
private String customerDetailId;
private String dataDetail;
public String getCustomerDetailId() ...{
return customerDetailId;
}
public void setCustomerDetailId(String customerDetailId) ...{
this.customerDetailId = customerDetailId;
}
public String getDataDetail() ...{
return dataDetail;
}
public void setDataDetail(String dataDetail) ...{
this.dataDetail = dataDetail;
}
}
DAO接口:
package ch10.SpringAndIbatisOneToOne;
import java.util.List;
public interface IDAO ...{
public Object getCustomersById(String id);
}
DAO实现类:
package ch10.SpringAndIbatisOneToOne;
import java.util.List;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
public class TestDAO extends SqlMapClientDaoSupport implements IDAO ...{
public Object getCustomersById(String id) ...{
return this.getSqlMapClientTemplate().queryForObject("getCustomerById",id);
}
}
Ibatis配置文件:
PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
ibatis sql map文件:
spring配置文件
如果要使用1对1,1对多这样牵扯两个表的情况,一定要为SqlMapClientFactoryBean设置dataSource属性
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
com.mysql.jdbc.Driver
root
1234
jdbc:mysql://localhost:3306/spring
ch10/SpringAndIbatisOneToOne/sqlMapConfig.xml
测试代码:
package ch10.SpringAndIbatisOneToOne;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import ch10.SpringAndIbatis.Ibatis;
public class Test ...{
/** *//**
* @param args
*/
public static void main(String[] args) ...{
ApplicationContext context=new ClassPathXmlApplicationContext("ch10/SpringAndIbatisOneToOne/applicationContext.xml");
TestDAO testDAOImpl=(TestDAO)context.getBean("testDAO");
Customers result1=(Customers)testDAOImpl.getCustomersById("1");
Customers result2=(Customers)testDAOImpl.getCustomersById("2");
System.out.println(result1.getFirstName()+"-"+result1.getLastName()+"-"+result1.getCustomerDetail().getDataDetail()+"-"+result1.getCustomerGossIp().getDataDetail());
System.out.println("-----------------");
System.out.println(result2.getFirstName()+"-"+result2.getLastName()+"-"+result2.getCustomerDetail().getDataDetail()+"-"+result2.getCustomerGossIp().getDataDetail());
}
}
结果:
firstname1-lastname1-detail1-detail2
-----------------
firstname2-lastname2-detail2-detail3
from:http://blog.csdn.net/daryl715/archive/2007/08/28/1762439.aspx
create table customerDetail(CustomerDetailId varchar(10) primary key,DataDetail varchar(10));
create table customers(id varchar(10) primary key,
firstname varchar(10),
lastname varchar(10),
customerDetail varchar(10),
customerGross varchar(10),
foreign key (customerDetail) references customerDetail(CustomerDetailId),
foreign key (customerGross) references customerDetail(CustomerDetailId));
insert into customerdetail values("1","detail1");
insert into customerdetail values("2","detail2");
insert into customerdetail values("3","detail3");
insert into customers values("1","firstname1","lastname1","1",null);
insert into customers values("2","firstname2","lastname2","2","3");
customer和customerDetail是1对1的关系
customer和customerGossIp是1对1的关系
domain对象:
package ch10.SpringAndIbatisOneToOne;
import java.util.List;
public class Customers ...{
private String customerId;
private String firstName;
private String lastName;
private CustomerDetail customerDetail;
private CustomerDetail customerGossIp;
public CustomerDetail getCustomerDetail() ...{
return customerDetail;
}
public void setCustomerDetail(CustomerDetail customerDetail) ...{
this.customerDetail = customerDetail;
}
public CustomerDetail getCustomerGossIp() ...{
return customerGossIp;
}
public void setCustomerGossIp(CustomerDetail customerGossIp) ...{
this.customerGossIp = customerGossIp;
}
public String getCustomerId() ...{
return customerId;
}
public void setCustomerId(String customerId) ...{
this.customerId = customerId;
}
public String getFirstName() ...{
return firstName;
}
public void setFirstName(String firstName) ...{
this.firstName = firstName;
}
public String getLastName() ...{
return lastName;
}
public void setLastName(String lastName) ...{
this.lastName = lastName;
}
}
package ch10.SpringAndIbatisOneToOne;
public class CustomerDetail ...{
private String customerDetailId;
private String dataDetail;
public String getCustomerDetailId() ...{
return customerDetailId;
}
public void setCustomerDetailId(String customerDetailId) ...{
this.customerDetailId = customerDetailId;
}
public String getDataDetail() ...{
return dataDetail;
}
public void setDataDetail(String dataDetail) ...{
this.dataDetail = dataDetail;
}
}
DAO接口:
package ch10.SpringAndIbatisOneToOne;
import java.util.List;
public interface IDAO ...{
public Object getCustomersById(String id);
}
DAO实现类:
package ch10.SpringAndIbatisOneToOne;
import java.util.List;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
public class TestDAO extends SqlMapClientDaoSupport implements IDAO ...{
public Object getCustomersById(String id) ...{
return this.getSqlMapClientTemplate().queryForObject("getCustomerById",id);
}
}
Ibatis配置文件:
PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
ibatis sql map文件:
spring配置文件
如果要使用1对1,1对多这样牵扯两个表的情况,一定要为SqlMapClientFactoryBean设置dataSource属性
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
测试代码:
package ch10.SpringAndIbatisOneToOne;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import ch10.SpringAndIbatis.Ibatis;
public class Test ...{
/** *//**
* @param args
*/
public static void main(String[] args) ...{
ApplicationContext context=new ClassPathXmlApplicationContext("ch10/SpringAndIbatisOneToOne/applicationContext.xml");
TestDAO testDAOImpl=(TestDAO)context.getBean("testDAO");
Customers result1=(Customers)testDAOImpl.getCustomersById("1");
Customers result2=(Customers)testDAOImpl.getCustomersById("2");
System.out.println(result1.getFirstName()+"-"+result1.getLastName()+"-"+result1.getCustomerDetail().getDataDetail()+"-"+result1.getCustomerGossIp().getDataDetail());
System.out.println("-----------------");
System.out.println(result2.getFirstName()+"-"+result2.getLastName()+"-"+result2.getCustomerDetail().getDataDetail()+"-"+result2.getCustomerGossIp().getDataDetail());
}
}
结果:
firstname1-lastname1-detail1-detail2
-----------------
firstname2-lastname2-detail2-detail3
from:http://blog.csdn.net/daryl715/archive/2007/08/28/1762439.aspx
Spring+Ibatis处理1对1数据表的例子
spring和ibatis的整合1
一个使用ibatis对数据库增删改查的例子
一个使用ibatis对数据库增删改查的例子
spring和ibatis的
iBATIS实现的一个例子
spring和ibatis的整合
Spring+Ibatis
数据表处理的综合操作
一个spring的简单例子
spring和ibatis的整合2
基于struts+spring+ibatis的轻量级J2EE开发
基于struts+spring+ibatis的轻量级J2EE开发
基于struts spring ibatis的轻量级J2EE开发
基于struts spring ibatis的轻量级J2EE开发
基于struts+spring+ibatis的轻量级J2EE开发
基于struts+spring+ibatis的轻量级J2EE开发 - jonsion - ...
Spring+Ibatis集成开发实例
办公高级考试之五:数据表处理的综合操作
ibatis 缓存 (cacheModel)详解1
awk数组处理两个文件的例子
webwork+spring+ibatis存取BLOB字段
WebWork+Spring+iBatis存取BLOB字段
spring+ibatis多数据源(转载)