spring和ibatis的整合
来源:百度文库 编辑:神马文学网 时间:2024/10/03 03:49:50
ormmping的思想相信不用多说大家都明白了,在这里我选择的是ibatis 由于手动的控制事务会带来很多额外的工作,同时也没有很好的体现面向对象的思想,因而利用ibatis整合spring ;由于要注意的细节非常多现在整理核心步骤如下:
配置前需把ibatis的jar导入到工程,这里从略
一 web.xml的配置
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">
This is the description of my J2EE component
This is the display name of my J2EE component
InserttoDBServlet
service.InserttoDBServlet
InserttoDBServlet
/InserttoDBServlet
contextConfigLocation
classpath:applicationContext.xml
org.springframework.web.context.ContextLoaderListener
action
org.apache.struts.action.ActionServlet
config
/WEB-INF/struts-config.xml
1
This is the description of my J2EE component
This is the display name of my J2EE component
TestServlet
test.TestServlet
action
*.do
TestServlet
/servlet/TestServlet
ExtFilter
filter.ExtFilter
ExtFilter
/*
二 applicationContext.xml文件的配置
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
value="com.mysql.jdbc.Driver" />
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
value="oracle.jdbc.OracleDriver" />
class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
value="classpath:sqlmap-config.xml" />
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
abstract="true">
PROPAGATION_REQUIRED
readOnly
readOnly
PROPAGATION_REQUIRED
PROPAGATION_REQUIRED
三 sqlmap-config.xml 文件配置
四 ormpping文件的配置(student_oracle.xml等 )
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
class="entity.Student">
columnIndex="1" />
columnIndex="2" />
insert into test_qjk_stu(id,stuname,stupassword)values(#stuId#,#name#,#password#)
SELECT test_qjk_stu_seq.nextval FROM DUAL
insert into test_qjk_stu(id,stuname,stupassword)values(#stuId#,#name#,#password#)
五 实体bean代码
package entity;
import java.util.Date;
public class Student {
private Integer stuId;
private String name;
private Date birthday;
private String sex;
private String passport;
private byte[] password;
public byte[] getPassword() {
return password;
}
public void setPassword(byte[] password) {
this.password = password;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassport() {
return passport;
}
public void setPassport(String passport) {
this.passport = passport;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Integer getStuId() {
return stuId;
}
public void setStuId(Integer stuId) {
this.stuId = stuId;
}
public String toString(){
return "stuid:"+stuId+"---name:"+name+"---passport:"+passport+"-----sex:"+sex+"--birthday:"+birthday;
}
}
六 dao实现类
package dao;
import java.sql.SQLException;
import java.util.List;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import util.Print;
import entity.Student;
public class StudentDaoImpl extends SqlMapClientDaoSupport implements StudentDao {
public void insertToDb(Student stu) {
getSqlMapClientTemplate().insert("insertToDb", stu);
}
public Student queryStuById(Integer id) {
Student stu=(Student) getSqlMapClientTemplate().queryForObject("queryStuById", id);
Print.contrlPrint("dao查到的对象是"+stu);
return stu;
}
public List getSomeStu(int start, int pageSize) {
System.out.println("dao ---start"+start);
System.out.println("dao ---pageSize"+pageSize);
List list=getSqlMapClientTemplate().queryForList("queryStudent", null, start, pageSize);
System.out.println("dao---list---size"+list.size());
return list;
}
public Long getStudentCount() {
return (Long) getSqlMapClientTemplate().queryForObject("getStudentCount", null);
}
public void delStuById(Long stuId) {
getSqlMapClientTemplate().delete("delStuById", stuId);
}
public void updateStudent(Student stu) {
getSqlMapClientTemplate().update("updateStudent", stu);
}
public List test(){
return getSqlMapClientTemplate().queryForList("test",null);
}
public Integer insertTest(Student stu) {
Print.contrlPrint("调用了insertTest");
return (Integer) getSqlMapClientTemplate().insert("insertTest", stu);
}
}
七 业务层实现类
package service;
import java.util.List;
import util.Tools;
import dao.StudentDao;
import entity.Student;
public class StudentServiceImpl implements StudentService {
private StudentDao studentDao;
public void insertToDb(Student stu) {
studentDao.insertToDb(stu);
// Integer id=studentDao.insertTest(stu);
// System.out.println("插入记录的id是"+id);
}
public StudentDao getStudentDao() {
return studentDao;
}
public void setStudentDao(StudentDao studentDao) {
this.studentDao = studentDao;
}
public Student queryById(Integer id) {
return studentDao.queryStuById(id);
}
public List getSomeStu(int start, int pageSize) {
return studentDao.getSomeStu(start, pageSize);
}
public String getResponseJson(int start, int pageSize) {
List list=getSomeStu(start, pageSize);
Long count=getStudentCount();
return Tools.getResponseJson(list,count);
}
public Long getStudentCount() {
return studentDao.getStudentCount();
}
public void delStuById(Long stuId) {
studentDao.delStuById(stuId);
}
public void updateStudent(Student stu) {
studentDao.updateStudent(stu);
}
}
配置前需把ibatis的jar导入到工程,这里从略
一 web.xml的配置
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">
classpath:applicationContext.xml
org.springframework.web.context.ContextLoaderListener
org.apache.struts.action.ActionServlet
二 applicationContext.xml文件的配置
destroy-method="close">
destroy-method="close">
abstract="true">
三 sqlmap-config.xml 文件配置
四 ormpping文件的配置(student_oracle.xml等 )
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
insert into test_qjk_stu(id,stuname,stupassword)values(#stuId#,#name#,#password#)
SELECT test_qjk_stu_seq.nextval FROM DUAL
insert into test_qjk_stu(id,stuname,stupassword)values(#stuId#,#name#,#password#)
五 实体bean代码
package entity;
import java.util.Date;
public class Student {
private Integer stuId;
private String name;
private Date birthday;
private String sex;
private String passport;
private byte[] password;
public byte[] getPassword() {
return password;
}
public void setPassword(byte[] password) {
this.password = password;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassport() {
return passport;
}
public void setPassport(String passport) {
this.passport = passport;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Integer getStuId() {
return stuId;
}
public void setStuId(Integer stuId) {
this.stuId = stuId;
}
public String toString(){
return "stuid:"+stuId+"---name:"+name+"---passport:"+passport+"-----sex:"+sex+"--birthday:"+birthday;
}
}
六 dao实现类
package dao;
import java.sql.SQLException;
import java.util.List;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import util.Print;
import entity.Student;
public class StudentDaoImpl extends SqlMapClientDaoSupport implements StudentDao {
public void insertToDb(Student stu) {
getSqlMapClientTemplate().insert("insertToDb", stu);
}
public Student queryStuById(Integer id) {
Student stu=(Student) getSqlMapClientTemplate().queryForObject("queryStuById", id);
Print.contrlPrint("dao查到的对象是"+stu);
return stu;
}
public List getSomeStu(int start, int pageSize) {
System.out.println("dao ---start"+start);
System.out.println("dao ---pageSize"+pageSize);
List list=getSqlMapClientTemplate().queryForList("queryStudent", null, start, pageSize);
System.out.println("dao---list---size"+list.size());
return list;
}
public Long getStudentCount() {
return (Long) getSqlMapClientTemplate().queryForObject("getStudentCount", null);
}
public void delStuById(Long stuId) {
getSqlMapClientTemplate().delete("delStuById", stuId);
}
public void updateStudent(Student stu) {
getSqlMapClientTemplate().update("updateStudent", stu);
}
public List test(){
return getSqlMapClientTemplate().queryForList("test",null);
}
public Integer insertTest(Student stu) {
Print.contrlPrint("调用了insertTest");
return (Integer) getSqlMapClientTemplate().insert("insertTest", stu);
}
}
七 业务层实现类
package service;
import java.util.List;
import util.Tools;
import dao.StudentDao;
import entity.Student;
public class StudentServiceImpl implements StudentService {
private StudentDao studentDao;
public void insertToDb(Student stu) {
studentDao.insertToDb(stu);
// Integer id=studentDao.insertTest(stu);
// System.out.println("插入记录的id是"+id);
}
public StudentDao getStudentDao() {
return studentDao;
}
public void setStudentDao(StudentDao studentDao) {
this.studentDao = studentDao;
}
public Student queryById(Integer id) {
return studentDao.queryStuById(id);
}
public List getSomeStu(int start, int pageSize) {
return studentDao.getSomeStu(start, pageSize);
}
public String getResponseJson(int start, int pageSize) {
List list=getSomeStu(start, pageSize);
Long count=getStudentCount();
return Tools.getResponseJson(list,count);
}
public Long getStudentCount() {
return studentDao.getStudentCount();
}
public void delStuById(Long stuId) {
studentDao.delStuById(stuId);
}
public void updateStudent(Student stu) {
studentDao.updateStudent(stu);
}
}
spring和ibatis的整合
spring和ibatis的整合1
spring和ibatis的整合2
spring和ibatis的
Spring+Ibatis
myeclipse整合spring和hibernate
myeclipse整合hibernate和spring
spring与Ajax的整合
基于struts+spring+ibatis的轻量级J2EE开发
基于struts+spring+ibatis的轻量级J2EE开发
基于struts spring ibatis的轻量级J2EE开发
基于struts spring ibatis的轻量级J2EE开发
基于struts+spring+ibatis的轻量级J2EE开发
Spring+Ibatis处理1对1数据表的例子
基于struts+spring+ibatis的轻量级J2EE开发 - jonsion - ...
在myeclipse下整合spring和hibernate1
Spring+Ibatis集成开发实例
Spring 和struts 整合的三种方式 - 曹映辉的专栏 - CSDN博客
整合Struts2与Spring的步骤(转)
整合Struts2与Spring的步骤assas
Struts and Spring的整合总结
webwork+spring+ibatis存取BLOB字段
WebWork+Spring+iBatis存取BLOB字段
spring+ibatis多数据源(转载)