- 浏览: 1594531 次
- 性别:
文章分类
- 全部博客 (2929)
- 非技术 (18)
- Eclipse (11)
- JAVA (31)
- 正则表达式 (0)
- J2EE (4)
- DOS命令 (2)
- WEB前端 (52)
- JavaScript (69)
- 数据库 (8)
- 设计模式 (0)
- JFreechart (1)
- 操作系统 (1)
- 互联网 (10)
- EasyMock (1)
- jQuery (5)
- Struts2 (12)
- Spring (24)
- 浏览器 (16)
- OGNL (1)
- WebService (12)
- OSGi (14)
- 软件 (10)
- Tomcat (2)
- Ext (3)
- SiteMesh (2)
- 开源软件 (2)
- Hibernate (2)
- Quartz (6)
- iBatis (2)
最新评论
spring提供了ibatis的模板类封装,通过简单的设置就能使用ibatis了
1. 编写POJO
package model;
public class Product{
private int id;//产品ID
private int user_id;//用户ID
private int count;//商品数量
private String name;//商品名称
private String detail;//商品细节
private String time;//发布时间
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public String getDetail() {
return detail;
}
public void setDetail(String detail) {
this.detail = detail;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public int getUser_id() {
return user_id;
}
public void setUser_id(int user_id) {
this.user_id = user_id;
}
}
2. 在Spring配置文件中配置IBATIS
/****** /web-inf/bean-main.xml*******/
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<!-- 1.配置数据源 -->
<bean id="myDataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName"
value="com.microsoft.jdbc.sqlserver.SQLServerDriver" />
<property name="url"
value="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=game" />
<property name="username" value="sa" />
<property name="password" value="123456" />
</bean>
<!-- 2.配置数据工厂(ibatis) -->
<bean id="myIbatis"
class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation"
value="/WEB-INF/ibatis-sql-map-config.xml" />
<property name="dataSource" ref="myDataSource" />
</bean>
</beans>
其中<property name="configLocation"
value="/WEB-INF/ibatis-sql-map-config.xml" />指定ibatis配置文件路径
3.配置IBATIS
/****** /web-inf/ibatis-sql-map-config.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 useStatementNamespaces="true" />
<sqlMap resource="ibatis/product.xml"/>
</sqlMapConfig>
其中<settings useStatementNamespaces="true" /> 表示允许使用命名空间,保证不同的映射文件存在相同的查询定义标签ID时不冲突,在使用命名空间之前,必须配置。而sqlmap标签用于指定映射文件路 径,所有路径都相对于应用程序的类路径,比如/web-inf/classes,在开发阶段,相对于SRC路径就可以了。。。。
4.配置IBATIS映射
/****** /ibatis/product.xml *******/
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="product">
<typeAlias alias="Product" type="model.Product"/>
<select id="readForId" resultClass="Product" parameterClass="java.lang.Integer">
select * from product where id=#value#
</select>
<insert id="add" parameterClass="Product">
insert into product (user_id,name,detail,[time])
values (#user_id#,#name#,#detail#,#time#)
</insert>
<delete id="delete" parameterClass="java.lang.Integer">
delete from product where id=#value#
</delete>
<update id="updateCount" parameterClass="java.lang.Integer">
update product set [count]=[count]-1 where id=#value#
</update>
</sqlMap>
如果查询语句包含比较运算符,用" <![CDATA[ ]]> "包含,typeAlias标签,指定实体类名字,便于后面的标签引用
5.编写DAO类,并继承自ActionSupport类
package dao;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import java.util.*;
import model.Product;
public class ProductDao extends SqlMapClientDaoSupport {
//读取特定产品
public Product readForId(int id){
return (Product)getSqlMapClientTemplate().queryForObject("product.readForId",id);
}
//增加产品
public void add(Product product){
getSqlMapClientTemplate().insert("product.add",product);
}
//删除产品
public void delete(int id){
getSqlMapClientTemplate().delete("product.delete",id);
}
//更新产品数量
public void updateCount(int id){
getSqlMapClientTemplate().update("product.updateCount",id);
}
}
在spring配置文件中,对DAO注入sqlMapClient对象,本类中,getSqlMapClientTemplate()方法就能得到sqlMapClient对象的引用,以下为注入的例子:
......................................................................
<bean id="productDao" class="dao.ProductDao">
<property name="sqlMapClient" ref="myIbatis" />
</bean>
.....................................................................
配置好IBATIS,配置好DAO,剩下的就是把DAO注入到需要数据库操作的BO对象中,实现业务逻辑了:
......................................................................
<bean id="productBo" class="bo.ProductBo">
<property name="dao" ref="productDao" />
</bean>
.....................................................................
发表评论
-
spring2.0和spring2.5及以上版本的jar包区别 spring jar 包详解
2009-07-22 15:07 810spring jar 包详解 spr ... -
spring2.0升级到spring2.5
2009-07-22 15:09 822在spring2.0升级到spring2. ... -
spring2.5新特性(转)
2009-07-22 15:10 679简介 从诞生之初,Spring框架就坚守它的宗旨:简化企 ... -
Spring中使用FreeMaker或Vilocity模板发送邮件
2009-07-22 16:38 873本文以用户注册后为用户发送一封邮件为例子,讲述如何在Sprin ... -
Quartz与Spring的集成【转】
2009-08-05 15:21 7962.1 Scheduler 总入口 <bean n ... -
Quartz在Spring中动态设置cronExpression研究(spring设置动态定时任务)【转】
2009-08-05 15:49 848什么是动态定时任务:是由客户制定生成的,服务端只知道该 ... -
Spring结合Quartz实现多任务定时调用
2009-08-05 15:51 749Quartz框架提供了丰富的任务调度支持,比如 ... -
在Spring中使用Quartz进行任务调度
2009-08-06 10:30 851概述 各种企业应用几乎都会碰到任务调度的需求,就拿论坛 ... -
spring&quartz的项目应用总结
2009-08-06 12:20 868一.名词简介: Quartz是一个完全由java编写的开源作 ... -
Spring的transactionAttributes
2009-08-11 11:42 602PROPAGATION_REQUIRED--支持当前事务, ... -
Spring配置中transactionAttributes的意义
2009-08-11 11:43 814最近使用JSF+Spring+OpenJPA ... -
详解spring事务属性
2009-08-11 11:45 651Spring声明式事务让我们从复杂的事务处理中得到解脱。使得我 ... -
acegi参考的部分翻译
2009-08-20 15:34 641序 1. 安全 1.1 准备 1 ... -
Acegi Security -- Spring下最优秀的安全系统
2009-08-20 15:40 797一Acegi安全系统介绍 Author: cac 差沙 ... -
【SSI开发总结.2】spring整合ibatis
2009-08-20 15:48 5981.Spring 配置文件: ... -
【SSI开发总结.1】struts2整合spring
2009-08-20 15:48 669在Struts2中整合Spring的IoC支持是一件十分简单的 ... -
【SSI开发总结.5】SiteMesh装饰器
2009-08-20 15:49 645SiteMesh项目简介 OS(OpenSymph ... -
【SSI开发总结.4】Spring中使用Acegi安全框架
2009-08-20 15:49 682Acegi认证授权主要基于 ... -
【SSI开发总结.3】基于ibatis的自定义分页
2009-08-20 15:49 791分页,在web应用程序中非常常见的功能,也是最基本的功能, ... -
【SSI开发总结.6】Struts+Spring+Ibatis环境配置(一)
2009-08-20 15:50 751为了使struts2和spring集成,必须下载一个 ...
相关推荐
struts2+spring+Ibatis框架包
ssi==struts+ibatis+spring,提供oracle数据库相关表,你也可以自己根据vo下的pojo类进行表的创建,字段就是属性字段;可正常运行,提供员工,账号表的添加和列表显示功能
SSI2 Struts2+Spring2.5+IBatis2 配置 log4j.jar 版本不能低于1.2.13 此处为1.2.16,否则报FileNotFound异常
struts+spring+ibatis框架,自己配的,和大家分享下,数据库是sqlserver2008,下载导入eclipse中可以运行
SSI框架整合(Struts2.1+Spring3.0+Ibatis 2.3) 下载之后执行.sql文件创建表和sequence 记得改数据库访问地址以及数据库登录用户名密码 项目访问路径 localhost:8080/SSI_Demo1 一个简单的例子(Oracle数据库增删改查...
用ssi——struts2+spring+ibatis编写,含(登入+增删改查)等功能,适合初学者学习
此资源是一个完成的Web Project,采用ssi框架(struts+spring+ibatis),mysql数据库
Struts2+Spring+iBatis整合的一个小例子。 包括了对MySQL数据库的增删改查,只适用于新手,使用时请先把ssi.sql文件导入数据库。 压缩包内有源码和所需jar包
MyEclispse下SSI整合JAR包(Struts1+Spring3+ibatis2)
Struts2+Spring+Ibatis+Ext,ext光是实现了登陆! 业务主要是简单的实现了两张表的增删改查!还有对查询的结果了Ibatis的分页,据库是Sql Server 2000!
基于spring+struts2+ibatis开发的简单项目,里面有增加,修改,删除,查找功能,前台使用了ligerUI插件,需在jsp页面引用ligerUI的js文件,适合有一定jquery,java的初学者,并对ligerUI有一定的了解,否则将很难理解...
SSI项目实例,采用struts2.18+spring2.5+ibatis2.3实现,帮助需要帮助的朋友
Struts+Spring+Ibatis整合的Jar包
一个基于struts2.18+spring2.5+ibatis2.3的SSI项目示例。需要的jar包自己添加
struts2+spring+ibatis做的增删改查的小例子 struts2+spring+ibatis SSI2整合 struts2+spring+ibatis增删改查 对初学者很有为、用
struts2+spring2+ibatis简单登录例子
struts+spring+ibatis框架集合教程。里面有ssi的源码和三个搭建文档还有个ibatis的中文帮助文档。
Struts 1.2.9 + Spring 2.5.6 + iBATIS 2.3.4 + MySQL 3.1 + Tomcat 5.5.26 > 开发环境: * MyEclipse、JDK1.5、J2EE... * 采用 Struts 1.2.9 + Spring 2.5.6 + iBATIS 2.3.4 + MySQL 3.1 + Tomcat 5.5.26 来搭建环境
SSI即Struts+Spring+Ibatis整合开发框架
struts2+spring+ibatis 项目 入门使用 CRUD