- 浏览: 187506 次
- 性别:
- 来自: 郑州
文章分类
最新评论
-
youngbird221:
楼主有答案了么
ERROR JDBCTransaction : Could not toggle autocommi -
xuyoubin1987:
谢了 支持楼主
Struts2+Spring2.5+Ibatis2.3图书管理 -
wx_hello:
哈哈。。谢啦。。
Struts2+Spring2.5+Ibatis2.3图书管理 -
zhuzhijia:
为啥跟图片的高度有关?请教
JavaScript——延迟加载技术 -
zhameng:
...
JavaScript——延迟加载技术
看了Ibatis也有好长时间啦,一直也没有和Struts2+Spring2.5进行整合,今天也没有什么任务,写一个简单的例子和大家一起分享下。
首先建立一下简单的数据库表:sbook
在MyEclipse建立Web工程springibatis,然后把工程所要使用的Jar文件导入:
以上就是工程中所用到的全部Jar文件。
现在在Web.xml文件里面为Spring和Struts2做必要的配置:
好了现在Web.xml文件已经配置完成啦。
现在转入真正要写代码的地方啦。
首先为sbook表建立必要发POJO类:
这里的属性和数据库sbook表的字段是一一对应的,当然你也可以改成自己想要的字段,在控制此POJO类的XMl文件里做到数据库字段的映射即可。
现在请注意啦,到Spring和Ibatis集成配置的关键地方啦:
applicationContext.xml
其中sqlMapConfig.xml文件配置Ibatis操作:
此处仅用到了SBook.xml文件,所以只需要导入此文件即可,下面来看一下真正处理数据库操作的SBook.xml文件的信息:
applicationContext-services.xml处理业务层和事务控制:
上面是对Spring事务和业务层的控制配置。
剩下的就是对DAO层和Services层以及Action层啦,这里就不在对此部分内容进行详细描述啦,如果感兴趣的朋友,请下载源代码查看。
annotation虽然好用,但是也要改代碼。
楼主的jar包是2.0 不是spring2.5,2.5的新特性估计还不是太多人使用。
首先建立一下简单的数据库表:sbook
drop table if exists sbook; create table if not exists sbook ( id int primary key auto_increment, title varchar(50), author varchar(20), total int, price float, isbn varchar(20), publisher varchar(50) );
在MyEclipse建立Web工程springibatis,然后把工程所要使用的Jar文件导入:
antlr-2.7.2.jar aspectjweaver.jar commons-collections.jar commons-dbcp.jar commons-logging-1.0.4.jar commons-pool.jar //Ibatis整体Jar文件 ibatis-2.3.0.677.jar //Mysql JDBC驱动 mysql-connector.jar //Spring整体包 spring.jar //struts2必须 freemarker-2.3.8.jar //struts2必须 ognl-2.6.11.jar //struts2核心包 struts2-core-2.0.11.2.jar //struts2整合Spring插件 struts2-spring-plugin-2.0.11.2.jar //struts2必须 xwork-2.0.5.jar
以上就是工程中所用到的全部Jar文件。
现在在Web.xml文件里面为Spring和Struts2做必要的配置:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <!-- 配置Spring --> <context-param> <param-name>contextConfigLocation</param-name> <param-value> WEB-INF/classes/com/us/jack/config/applicationContext.xml WEB-INF/classes/com/us/jack/config/applicationContext-services.xml </param-value> </context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <!-- 配置Struts2 --> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.FilterDispatcher </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
好了现在Web.xml文件已经配置完成啦。
现在转入真正要写代码的地方啦。
首先为sbook表建立必要发POJO类:
package com.us.jack.pojo; /** * 图书类 * @author jack * */ public class SBook { private int id; private String title; private String author; private int total; private float price; private String isbn; private String publisher; //下面是Getter和Setter方法 …… }
这里的属性和数据库sbook表的字段是一一对应的,当然你也可以改成自己想要的字段,在控制此POJO类的XMl文件里做到数据库字段的映射即可。
现在请注意啦,到Spring和Ibatis集成配置的关键地方啦:
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <beans 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.5.xsd"> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/ibatisstudy" /> <property name="username" value="root" /> <property name="password" value="jack" /> </bean> <!-- SqlMap setup for iBATIS Database Layer --> <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <!-- 特别注意此处,如果做单元测试的话,请把“WEB-INF/classes/”去掉,否则会报找不到sqlMapConfig.xml文件 --> <property name="configLocation" value="WEB-INF/classes/com/us/jack/config/sqlMapConfig.xml" /> <property name="dataSource" ref="dataSource" /> </bean> <!-- 注入BookDAO层 --> <bean id="sbookDAO" class="com.us.jack.dao.impl.SBookDAO"> <property name="sqlMapClient" ref="sqlMapClient" /> </bean> </beans>
其中sqlMapConfig.xml文件配置Ibatis操作:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd"> <sqlMapConfig> <sqlMap resource="com/us/jack/dao/impl/maps/SBook.xml"/> </sqlMapConfig>
此处仅用到了SBook.xml文件,所以只需要导入此文件即可,下面来看一下真正处理数据库操作的SBook.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> <typeAlias alias="sbook" type="com.us.jack.pojo.SBook" /> <!-- 添加一本新书 --> <insert id="saveBook" parameterClass="sbook"> <selectKey keyProperty="id" resultClass="int"> <![CDATA[ SELECT LAST_INSERT_ID() AS VALUE ]]> </selectKey> <![CDATA[ INSERT INTO sbook(title,author,total,price,isbn,publisher) VALUES(#title#,#author#,#total#,#price#,#isbn#,#publisher#) ]]> </insert> <!-- 删除图书 --> <delete id="deleteBook" parameterClass="int"> <![CDATA[ DELETE FROM SBOOK WHERE ID=#id# ]]> </delete> <!-- 通过出版社名称查找此出版社出版的图书 --> <select id="findBookByPublisher" parameterClass="string" resultClass="sbook"> <![CDATA[ SELECT * FROM sbook WHERE publisher=#publisher# ]]> </select> <!-- 通过图书唯一的ISBN号码查找图书 --> <select id="findBookByISBN" parameterClass="string" resultClass="sbook"> <![CDATA[ SELECT * FROM sbook WHERE isbn=#isbn# ]]> </select> <!-- 查找所有的图书 --> <select id="findAllBook" resultClass="sbook"> <![CDATA[ SELECT * FROM sbook ]]> </select> <!-- 更新图书信息 --> <update id="updateBook" parameterClass="sbook"> <![CDATA[ UPDATE SBOOK SET title=#title#,author=#author#,price=#price#,total=#total#,isbn=#isbn#,publisher=#publisher# WHERE id=#id# ]]> </update> <!-- 查找特定图书 --> <select id="findBookById" parameterClass="int" resultClass="sbook"> <![CDATA[ SELECT * FROM sbook WHERE ID=#id# ]]> </select> </sqlMap>
applicationContext-services.xml处理业务层和事务控制:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> <bean id="sbookServices" class="com.us.jack.services.impl.SBookServices"> <property name="sbookDAO" ref="sbookDAO"/> </bean> <!-- 将BookAction交给Spring控制 --> <bean id="sbookAction" class="com.us.jack.action.SBookAction"> <property name="sbookServices" ref="sbookServices"/> </bean> <!-- Transaction manager for a single JDBC DataSource --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <aop:config> <!-- 管理事务操作 --> <aop:pointcut id="servicesPointcut" expression="execution(* com.us.jack.services.*.*(..))" /> <aop:advisor advice-ref="txAdvice" pointcut-ref="servicesPointcut" /> </aop:config> <!-- 事务控制 --> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="save*" propagation="REQUIRED" /> <tx:method name="update*" propagation="REQUIRED" /> <tx:method name="remove*" propagation="REQUIRED" /> <tx:method name="get*" read-only="true" /> </tx:attributes> </tx:advice> </beans>
上面是对Spring事务和业务层的控制配置。
剩下的就是对DAO层和Services层以及Action层啦,这里就不在对此部分内容进行详细描述啦,如果感兴趣的朋友,请下载源代码查看。
- springibatis.rar (9 MB)
- 下载次数: 17419
评论
16 楼
xuyoubin1987
2012-06-11
谢了 支持楼主
15 楼
wx_hello
2011-12-15
哈哈。。谢啦。。
14 楼
wuhongyu
2009-06-15
不错的小例子,正在学这个,听说我们的下个项目是struts2+spring+ibatis,这里感谢了先
13 楼
haishou520
2009-05-31
也学习一下吧。
12 楼
InnocentBoy
2009-04-30
支持楼主,确实是不错的,至少可以帮助很多学习者!
11 楼
aquleo
2009-04-21
不错的例子...学习了...
10 楼
mikeandmore
2009-04-21
话说这个应该算不上企业应用吧。。。
PS。听说图书馆的管理系统是COBOL派一直控制着。。。嗯嗯。
PS。听说图书馆的管理系统是COBOL派一直控制着。。。嗯嗯。
9 楼
walle1027
2009-04-21
caipanjin 写道
楼主既然用Spring 2.5,为什么不用一下Annotation方式的IoC呢
annotation虽然好用,但是也要改代碼。
8 楼
javajdbc
2009-04-20
2.0 和 2.5 有什么区别没 ?
7 楼
InnocentBoy
2008-10-30
学习中......
6 楼
pobaby
2008-10-30
caipanjin 写道
楼主既然用Spring 2.5,为什么不用一下Annotation方式的IoC呢
楼主的jar包是2.0 不是spring2.5,2.5的新特性估计还不是太多人使用。
5 楼
caipanjin
2008-10-09
楼主既然用Spring 2.5,为什么不用一下Annotation方式的IoC呢
4 楼
coolstar648
2008-10-08
楼主的例子很好啊。
3 楼
largelove
2008-10-01
weblogic jvm内存设置好像是2.2G左右。tomcat,jboss不知道多少。我这里有一个应用,一群程序员把数据取出来生成excel,然后3个人同时访问jvm就高达1G,应用没办法跑,后来限制weblogic queue,就是那个页面只能跑一个queue,其他人是进不来的。
2 楼
largelove
2008-10-01
看上楼上说会话跟踪,我突然有个问题,一直不太明白。请问session的保存需要多少内存? 还有这个内存是占用服务器本身的内存还是占用jvm的内存?
如果是占用jvm内存,如果我有1000个人甚至10000个,那jvm内存不是很快就用完了?
如果是占用jvm内存,如果我有1000个人甚至10000个,那jvm内存不是很快就用完了?
1 楼
jy02411368
2008-09-29
以后不断的推出好的 例子 另外JACK我想建议一下 尽量把代码写规范 例如你在开发项目的时候一个登陆 需要坐许多 例如会话跟踪之类的 希望能写全一点 这样看起来更实用 谢谢你的无私奉献!!!
发表评论
-
分类排序方法——上移下移操作(Java版)
2009-11-27 19:03 6958最近项目中遇到了上移下移操作的一个操作,以前也看到 ... -
分类排序方法——上移下移操作(ASP版)
2009-11-27 10:34 1859最近项目中遇到了上移下移操作的一个操作,以前也看到过,但一 ... -
Mapabc——地图标注
2009-08-31 10:21 2030项目中使用到了地图标注的功能(mapabc),现在将代码共享出 ... -
表单常用JS验证
2009-08-31 08:21 1276在Web项目中,总会或多或少的使用的Form表单,包含空字符及 ... -
Internet Explorer无法打开站点,已终止操作
2008-12-28 14:28 3210在页面还没有ready的时候就调用了htmlObject的ap ... -
Struts2+Spring2.5+Ibatis2.3图书管理加强版-输入校验、国际化
2008-09-28 11:50 1831昨天写了个基础的Struts+Spring+Ibatis ... -
IBatis简单实现(附主键自动生成)
2008-09-13 11:21 6956有一段没有更新博客啦,还请各位原谅。 这段时间一直 ... -
电子地图--MapABC研究(三)为地图上添加点并得到中心坐标
2008-08-28 10:56 2369出于项目的需要,还要继续对MapABC进行研究,昨天看了 ... -
电子地图--MapABC研究(二)地图编辑
2008-08-26 14:09 1973这是电子地图研究的第二部分。 普通用户使用地图无非就是 ... -
电子地图--MapABC研究(一)
2008-08-26 08:48 1798回头想想做J2EE也有一年多啦,这一年中一经历了很多很多, ... -
Dwr2+Struts2+Spring2.5+Hibernate3完美整合--用户登录注册系统
2008-08-23 09:51 7982用户注册和登录是每个系统的必须存在的一部分,基于Dwr+S ...
相关推荐
*架构struts2_spring2.5_ibatis2.3 *mysql5.0 *jdk 1.6 *带有所有jar包,可直接运行 本实例实现了用户登陆,用户信息CRUD相关操作。让你感受到了ibatis做o/r mapping的方便快捷。 下次集成dwr进来 create ...
Struts2+Spring2.5+Ibatis2.3架构是一种经典的Java Web开发技术栈,广泛应用于企业级应用系统中。这个架构结合了Struts2的MVC框架、Spring的依赖注入(DI)和面向切面编程(AOP)以及Ibatis的持久层解决方案,为...
分为:struts2.1.8 + spring 2.5 + ibatis 2 整合开发包_ _01部分 struts2.1.8 + spring 2.5 + ibatis 2 整合开发包_ _02部分 只要将这两个包全下载下来,就可以搭建struts2.1.8 + spring 2.5 + ibatis2整合开发的...
分为:struts2.1.8 + spring 2.5 + ibatis 2 整合开发包_ _01部分 struts2.1.8 + spring 2.5 + ibatis 2 整合开发包_ _02部分 只要将这两个包全下载下来,就可以搭建struts2.1.8 + spring 2.5 + ibatis2整合开发的...
**SSI(Struts2+Spring2.5+Ibatis2.3)项目实例详解** **一、Struts2框架** Struts2是一个基于MVC设计模式的Java Web开发框架,它继承了Struts1和WebWork的优点,提供了一种更灵活、更强大的控制层解决方案。在SSI...
Struts2、Spring和iBatis是Java Web开发中三个非常重要的开源框架,它们共同构建了一个灵活、可扩展且高效的应用程序开发环境。这个“struts2+spring+iBatis框架包”集成了这三个框架,使得开发者能够快速构建基于...
这个"struts2 + spring2.5 + ibatis2.3.4整合包文件"包含了这三个框架的集成,用于搭建一个完整的Java Web应用程序。以下是对这些框架及其整合的详细说明: 1. Struts2:Struts2是基于Apache Struts 1的升级版,它...
这个"Struts2+Spring2.5+iBatis完整增删改查Demo"提供了一个完整的集成示例,包括所有必要的jar包,使得开发者可以快速在Mycelipse环境中搭建并运行项目。 **Struts2框架**: Struts2是基于MVC设计模式的Web应用...
struts1.3+spring2.5+ibatis2.3.4整合
Struts2、Spring2.5 和 iBatis2 是经典的Java Web开发框架组合,它们各自在应用程序的不同层面提供了强大的功能。下面将详细讲解这三大框架的集成配置以及log4j的相关知识。 首先,Struts2 是一个基于MVC(Model-...
在IT领域,构建高效、可扩展的企业级应用是至关重要的,而"Ext2.0+Struts2+Spring2.5+Ibatis2"的组合就是一种常见的技术栈,用于实现这样的目标。这个技术组合提供了从用户界面到数据访问的全方位解决方案。 **Ext...
Struts2、Spring2.5和iBatis是经典的Java Web开发框架组合,它们共同构建了一个灵活、高效的企业级应用程序架构。在这个组合中,Struts2作为MVC(Model-View-Controller)框架负责处理用户请求,Spring2.5则提供依赖...
Struts1.1+Spring2.5+Ibatis2.3+Ajax整合是一个经典的Java Web开发框架组合,常用于构建企业级应用。这个源代码集合提供了如何将这四个技术有效地结合在一起的实例,以实现一个功能强大的、具有无刷新特性的用户界面...
Struts2.0+Spring2.5.1+ibatis2.3的整合是一个常见的Java Web应用程序开发模式,主要用于构建高效、可维护性高的企业级系统。这种整合将Struts2作为表现层框架,Spring作为控制层和业务层框架,而iBatis则作为数据...
本演示示例主要使用目前最新,最流行技术Struts2.1 +Spring 2.5.1+ibatis2.3整合开发而成,这与我以前发布的版本中最大特色是整合了Spring2.5.1中的注解功能和半自动化工具ibatis技术,这是本示例的两大特色,简化了配置...
**SSI(Struts2 + Spring2.5 + iBatis)项目实例详解** SSI,即Struts2、Spring和iBatis的组合,是Java Web开发中常见的技术栈,用于构建高效、灵活的企业级应用程序。这个项目实例展示了如何将这三个框架集成到...
本示例代码涉及的是一个经典的技术栈:Ibatis2.3、Struts1.3和Spring2.5的整合。这三个框架各自都有其独特的功能和优点,组合在一起能够提供灵活的数据访问、高效的MVC架构以及全面的应用管理。 Ibatis,作为一款轻...
Struts2、Spring2.5和iBatis是Java Web开发中的三大框架,它们的整合使用可以帮助开发者构建高效、灵活的MVC(Model-View-Controller)架构的应用程序。Struts2作为表现层框架,提供了丰富的动作调度和结果处理;...
标题“spring2.5+struts2+ibatis2.3”揭示了这是一个关于整合Spring 2.5、Struts 2和iBATIS 2.3的项目。这三个技术都是Java开发中的重要组件,主要用于构建企业级Web应用程序。下面我们将深入探讨这三个框架的核心...
本示例是"Ibatis+struts2.0+Spring2.5"的整合,这是一个经典的Java Web开发技术栈,用于构建高效、灵活的企业级应用。下面将详细阐述这三个框架的集成及其核心功能。 1. **Ibatis**:Ibatis 是一个轻量级的持久层...