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>
.....................................................................
分享到:
相关推荐
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