SSI 整合 Demo
spring_struts2_ibatis整合开发Demo:
1.web.xml
<?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">
<!-- 1.加载spring配置文件applicationContext.xml -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/applicationContext.xml
</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<!-- 2.编码过滤 -->
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 3.ActioncontextCleanUp对象对ACTION进行监、管理容器,告诉JVM某个不使用的对象需要被销毁 -->
<filter>
<filter-name>cleanup</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ActionContextCleanUp
</filter-class>
</filter>
<filter-mapping>
<filter-name>cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<!-- 定义核心filter的名字 -->
<filter-name>struts2</filter-name>
<!-- 定义核心filter的实现类 -->
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<!-- FilterDispatcher用来初始化struts2并且处理所有的web请求 -->
<filter-mapping>
<filter-name>struts2</filter-name>
<!--默认拦截以.action结尾的请求 -->
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>/admin/add.jsp</welcome-file>
</welcome-file-list>
</web-app>
2.applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<bean id="sqlMapClient" class="com.zxm.util.SqlMapClientFactory" factory-method="getSqlMapClient">
</bean>
<bean id="adminDao" class="com.zxm.admin.dao.AdminDao">
<property name="sqlMapClient" ref="sqlMapClient"/>
</bean>
<!-- 配置Service -->
<bean id="adminService" class="com.zxm.admin.service.AdminServiceImpl">
<property name="adminDao">
<ref local="adminDao"/>
</property>
</bean>
<!-- 定义Struts配置 -->
<bean name="admin" class="com.zxm.admin.action.AdminAction">
<property name="adminService">
<ref local="adminService"/>
</property>
</bean>
</beans>
3.ibatis配置文件:sqlMapConfig.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>
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="com.mysql.jdbc.Driver" />
<property name="JDBC.ConnectionURL"
value="jdbc:mysql://localhost:3306/beichuang?useUnicode=true&characterEncoding=UTF-8" />
<property name="JDBC.Username" value="root" />
<property name="JDBC.Password" value="123456" />
<property name="Pool.MaximumActiveConnections" value="10" />
<property name="Pool.MaximumIdleConnections" value="5" />
<property name="Pool.MaximumCheckoutTime" value="120000" />
<property name="Pool.TimeToWait" value="500" />
<property name="Pool.PingQuery" value="select 1 from user" />
<property name="Pool.PingEnabled" value="false" />
<property name="Pool.PingConnectionsOlderThan" value="1" />
<property name="Pool.PingConnectionsNotUsedFor" value="1" />
</dataSource>
</transactionManager>
<sqlMap resource="com/zxm/sqlmap/ibatis_admin.xml" />
</sqlMapConfig>
4.ibatis_admin.xml:
<?xml version="1.0" encoding="GBK" standalone="no"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap>
<typeAlias alias="admin" type="com.zxm.admin.bean.Admin" />
<insert id="insertAdmin" parameterClass="admin">
<selectKey keyProperty="id" resultClass="java.lang.Integer"
type="post">
SELECT LAST_INSERT_ID()
</selectKey>
insert into admin(name,password) values(#name#,#password#)
</insert>
<delete id="deleteAdmin" parameterClass="java.lang.Integer">
delete from admin where id=#id#
</delete>
<update id="updateAdmin" parameterClass="admin">
update admin set name=#name#,password=#password# where id=#id#
</update>
<select id="getAdmin" resultClass="admin">
select *from admin
<dynamic prepend="WHERE">
<!-- isNotNull判断参数是否存在,Integer类型 -->
<isNotNull property="id">
<isGreaterThan prepend=" and " property="id" compareValue="0">
id = #id#
</isGreaterThan>
</isNotNull>
</dynamic>
</select>
</sqlMap>
5.sqlMapClientFactory.java:
package com.zxm.util;
import java.io.Reader;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
public class SqlMapClientFactory {
private static final SqlMapClient sqlMapClient;
static {
try {
String resource = "sqlMapConfig.xml";
Reader reader = Resources.getResourceAsReader(resource);
sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
public static SqlMapClient getSqlMapClient() {
return sqlMapClient;
}
}
6.struts.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="default" extends="struts-default">
<action name="admin" class="admin">
<result name="index">
/admin/selectAll.jsp
</result>
<result name="edit">/admin/edit.jsp</result>
</action>
</package>
</struts>
7.adminDao.java调用ibatis_admin.xml里面配置的:
package com.zxm.admin.dao;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.zxm.admin.bean.Admin;
public class AdminDao {
private SqlMapClient sqlMapClient;
public SqlMapClient getSqlMapClient() {
return sqlMapClient;
}
public void setSqlMapClient(SqlMapClient sqlMapClient) {
this.sqlMapClient = sqlMapClient;
}
public boolean insertAdmin(Admin admin)throws SQLException{
if((Integer)this.sqlMapClient.insert("insertAdmin", admin)>0){
return true;
}else
return false;
}
public boolean deletetAdmin(int id)throws SQLException{
if((Integer)this.sqlMapClient.delete("deleteAdmin", id)>0){
return true;
}else
return false;
}
public boolean updateAdmin(Admin admin)throws SQLException{
if((Integer)this.sqlMapClient.update("updateAdmin", admin)>0){
return true;
}else
return false;
}
public Admin getAdmin(Admin admin)throws SQLException{
return (Admin)this.sqlMapClient.queryForObject("getAdmin", admin);
}
public List<Admin> selectAllAdmin()throws SQLException{
return this.sqlMapClient.queryForList("getAdmin");
}
}
8.AdminActon.java:
package com.zxm.admin.action;
import java.util.List;
import com.zxm.admin.bean.Admin;
import com.zxm.admin.service.AdminService;
public class AdminAction {
private List<Admin> list;
private Admin admin;
private AdminService adminService;
public List<Admin> getList() {
return list;
}
public void setList(List<Admin> list) {
this.list = list;
}
public AdminService getAdminService() {
return adminService;
}
public void setAdminService(AdminService adminService) {
this.adminService = adminService;
}
public Admin getAdmin() {
return admin;
}
public void setAdmin(Admin admin) {
this.admin = admin;
}
public String index(){
list=adminService.selectAllAdmin();
System.out.println("数据的大小"+list.size());
return "index";
}
public String insert(){
adminService.insertAdmin(admin);
return index();
}
public String delete(){
adminService.deletetAdmin(admin.getId());
return index();
}
public String update(){
adminService.updateAdmin(admin);
return index();
}
public String getOneAdmin(){
admin=adminService.getAdmin(admin);
return "edit";
}
}
1.
http://www.iteye.com/topic/569770
2.
http://ps329795485.iteye.com/blog/1412028
3.
http://blog.csdn.net/dqsweet/article/details/7794906
4.
http://zz563143188.iteye.com/blog/1473807
分享到:
相关推荐
ssi,ssh,springmvc分别是三个框架的整合demo
简单的SSI整合框架,内涵demo,简单实用
简单的 SSI 框架demo,适合新人学习。
基于SSI的框架整合开发Demo。该Demo是一个完整的MyEclipse项目,可以直接导入运行。注意:该demo连接oracle数据库,所以需要相应用户及权限。如有必要可以直接修改%项目%/src/jdbc.properties。版本说明:Struts2.1-...
struts2+ibatis2.x+spring2.5整合的一个demo 适合新手学习
SSI框架整合(Struts2.1+Spring3.0+Ibatis 2.3) 下载之后执行.sql文件创建表和sequence 项目访问路径 localhost:8888/SSI_Demo1 一个简单的例子(Oracle数据库增删改查示例) 用户的增删改查操作,适合初学者...
基于Oracle数据库的SSI框架 Demo 简单明了 适合新手学习...
SSI框架整合(Struts2.1+Spring3.0+Ibatis 2.3) 下载之后执行.sql文件创建表和sequence 记得改数据库访问地址以及数据库登录用户名密码 项目访问路径 localhost:8080/SSI_Demo1 一个简单的例子(Oracle数据库增删改查...
struts2+spring+ibatis整合开发demo
因看到有些上传的资料让下载者不能够运行和使用,所以我自己用Oracle中自带的emp、dept还有一个自己的一个表,写了一个带有注册登录分页的demo。这个源码结构清晰、模块化良好,适合ssi架构者的需求、初次上传自己的...
自己做的SSI框架整合的小demo,酒店客房管理系统
struts2整合spring项目的简单demo,在eclipse中可直接运行
SSM框架整合,使用最新版MyBatis-Jar包(Struts2.1+Spring3.0+MyBatis...项目访问路径 localhost:8080/SSI_Demo2 一个简单的例子(Oracle数据库增删改查示例) 用户的增删改查操作,依赖注入和注解事物管理,适合初学者...
最近换了一家公司,公司几乎所有的项目都采用的是Struts2+Spring+Ibatis+Oracle的架构,上一个东家一般用的就是JSF+Spring,所做的项目没有一个用过ORM的框架,至于Struts2也只是平时自己做做Demo玩玩,毕竟才出校园...
cass安装程序,HTML5视频(MP4)播放器 .net Winform窗体设计器Demo flex4+spring3+struts2+hibernate3+blazeds整合实例 自己总结的ssh,ssi项目部署文档和实例文档 C语言100例_C++100例+经典、实用、趣味程序设计编程...