- 浏览: 457097 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
yuan_bin1990:
您好,请问下demo如何运行啊,准备研究研究,但不知道入口啊。 ...
ssh2(struts2+spring2.5+hibernate3.3)自动生成代码程序 -
luyulong:
[b][/b][i][/i][ ...
jQuery进度条插件 jQuery progressBar -
txin0814:
mark..
读取文件目录 -
vurses:
[align=center][color=red][size= ...
include 与 jsp:include区别 -
Roshan2:
http://lijiejava.iteye.com/blog ...
Spring AOP 入门实例
很久没有做struts2 + spring 2.5 + ibatis这种组合,现在学习了一下,我把我的写的小例子共享给大家一起分享一下 svn 下载地扯是:http://programming-ssi.unfuddle.com/svn/programming-ssi_ssi 用户名是 ssi 密码是: ssi 我的开发环境是:jdk1.5 tomcat5.5 eclispe jee集成 版本 mysql 数据库 里面有建表语句 共同学习 共同进步 还是把关键代码贴出来一下,要跑起来的就用svn下,只是看看,那就看以下的代码吧 web.xml 的主要内容 Java代码 <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4" 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"> <display-name>firstssh</display-name> <description>this is a simple example</description> <context-param> <param-name>webAppRootKey</param-name> <param-value>ssi.root</param-value> </context-param> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext*.xml</param-value> </context-param> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:log4j.properties</param-value> </context-param> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener> <!-- 用于初始化Spring容器的Listener --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 定义Struts2的FilterDispathcer的Filter --> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <!-- FilterDispatcher用来初始化struts2并且处理所有的WEB请求。 --> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter> <filter-name>encodingFilter</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> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping> <session-config> <session-timeout>10</session-timeout> </session-config> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app> <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4" 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"> <display-name>firstssh</display-name> <description>this is a simple example</description> <context-param> <param-name>webAppRootKey</param-name> <param-value>ssi.root</param-value> </context-param> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext*.xml</param-value> </context-param> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:log4j.properties</param-value> </context-param> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener> <!-- 用于初始化Spring容器的Listener --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 定义Struts2的FilterDispathcer的Filter --> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <!-- FilterDispatcher用来初始化struts2并且处理所有的WEB请求。 --> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter> <filter-name>encodingFilter</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> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping> <session-config> <session-timeout>10</session-timeout> </session-config> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app> applicationContext.xml 的主要内容 Java代码 <?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> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <!-- <value>WEB-INF/mail.properties</value>--> <value>classpath:jdbc.properties</value> <!-- <value>WEB-INF/oscache.properties</value>--> </list> </property> </bean> <!-- MailSender used by EmailAdvice --> <!-- <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="host" value="${mail.host}"/> </bean> --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close" dependency-check="none"> <property name="driverClass"> <value>${datasource.driverClassName}</value> </property> <property name="jdbcUrl"> <value>${datasource.url}</value> </property> <property name="user"> <value>${datasource.username}</value> </property> <property name="password"> <value>${datasource.password}</value> </property> <property name="acquireIncrement"> <value>${c3p0.acquireIncrement}</value> </property> <property name="initialPoolSize"> <value>${c3p0.initialPoolSize}</value> </property> <property name="minPoolSize"> <value>${c3p0.minPoolSize}</value> </property> <property name="maxPoolSize"> <value>${c3p0.maxPoolSize}</value> </property> <property name="maxIdleTime"> <value>${c3p0.maxIdleTime}</value> </property> <property name="idleConnectionTestPeriod"> <value>${c3p0.idleConnectionTestPeriod}</value> </property> <property name="maxStatements"> <value>${c3p0.maxStatements}</value> </property> <property name="numHelperThreads"> <value>${c3p0.numHelperThreads}</value> </property> </bean> <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <property name="configLocation" value="classpath:com/ssi/model/sql/ibatis/sql-map.xml" /> <property name="dataSource" ref="dataSource" /> </bean> <!-- 数据连接事务 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <!-- 拦截事务的方法设置 --> <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor"> <property name="transactionManager" ref="transactionManager" /> <property name="transactionAttributes"> <props> <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop> <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop> <prop key="insert*">PROPAGATION_REQUIRED</prop> <prop key="update*">PROPAGATION_REQUIRED</prop> <prop key="delete*">PROPAGATION_REQUIRED</prop> <prop key="add*">PROPAGATION_REQUIRED</prop> <prop key="save*">PROPAGATION_REQUIRED</prop> <prop key="remove*">PROPAGATION_REQUIRED</prop> </props> </property> </bean> <!-- 拦截事务Beans设置--> <!-- <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> <property name="beanNames"> <value>*DAO</value> </property> <property name="interceptorNames"> <list> <value>transactionInterceptor</value> 此处增加新的Interceptor </list> </property> </bean> --> <!-- 通知器,用它来对属性值进行处理 --> <bean class="org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor"> <property name="transactionInterceptor" ref="transactionInterceptor" /> </bean> </beans> <?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> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <!-- <value>WEB-INF/mail.properties</value>--> <value>classpath:jdbc.properties</value> <!-- <value>WEB-INF/oscache.properties</value>--> </list> </property> </bean> <!-- MailSender used by EmailAdvice --> <!-- <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="host" value="${mail.host}"/> </bean> --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close" dependency-check="none"> <property name="driverClass"> <value>${datasource.driverClassName}</value> </property> <property name="jdbcUrl"> <value>${datasource.url}</value> </property> <property name="user"> <value>${datasource.username}</value> </property> <property name="password"> <value>${datasource.password}</value> </property> <property name="acquireIncrement"> <value>${c3p0.acquireIncrement}</value> </property> <property name="initialPoolSize"> <value>${c3p0.initialPoolSize}</value> </property> <property name="minPoolSize"> <value>${c3p0.minPoolSize}</value> </property> <property name="maxPoolSize"> <value>${c3p0.maxPoolSize}</value> </property> <property name="maxIdleTime"> <value>${c3p0.maxIdleTime}</value> </property> <property name="idleConnectionTestPeriod"> <value>${c3p0.idleConnectionTestPeriod}</value> </property> <property name="maxStatements"> <value>${c3p0.maxStatements}</value> </property> <property name="numHelperThreads"> <value>${c3p0.numHelperThreads}</value> </property> </bean> <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <property name="configLocation" value="classpath:com/ssi/model/sql/ibatis/sql-map.xml" /> <property name="dataSource" ref="dataSource" /> </bean> <!-- 数据连接事务 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <!-- 拦截事务的方法设置 --> <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor"> <property name="transactionManager" ref="transactionManager" /> <property name="transactionAttributes"> <props> <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop> <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop> <prop key="insert*">PROPAGATION_REQUIRED</prop> <prop key="update*">PROPAGATION_REQUIRED</prop> <prop key="delete*">PROPAGATION_REQUIRED</prop> <prop key="add*">PROPAGATION_REQUIRED</prop> <prop key="save*">PROPAGATION_REQUIRED</prop> <prop key="remove*">PROPAGATION_REQUIRED</prop> </props> </property> </bean> <!-- 拦截事务Beans设置--> <!-- <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> <property name="beanNames"> <value>*DAO</value> </property> <property name="interceptorNames"> <list> <value>transactionInterceptor</value> 此处增加新的Interceptor </list> </property> </bean> --> <!-- 通知器,用它来对属性值进行处理 --> <bean class="org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor"> <property name="transactionInterceptor" ref="transactionInterceptor" /> </bean> </beans> 以下是applicationContext-dao.xml applicationContext-action.xml applicationContext-service.xml 的配置 Java代码 <?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> <bean id="UserAction" class="com.ssi.action.UserAction" scope="prototype"> <property name="userService" ref="userService" /> </bean> </beans> <?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> <!-- 根DAO --> <bean id="userDao" class="com.ssi.dao.impl.UserDao"> <property name="sqlMapClient" ref="sqlMapClient"></property> </bean> </beans> <?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> <bean id="userService" class="com.ssi.service.impl.UserService"> <property name="userDao" ref="userDao" /> </bean> </beans> <?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> <bean id="UserAction" class="com.ssi.action.UserAction" scope="prototype"> <property name="userService" ref="userService" /> </bean> </beans> <?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> <!-- 根DAO --> <bean id="userDao" class="com.ssi.dao.impl.UserDao"> <property name="sqlMapClient" ref="sqlMapClient"></property> </bean> </beans> <?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> <bean id="userService" class="com.ssi.service.impl.UserService"> <property name="userDao" ref="userDao" /> </bean> </beans> UserDao 代码 : Java代码 package com.ssi.dao.impl; import java.util.List; import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport; import com.ssi.dao.IUserDao; import com.ssi.model.User; /** * 功能: * * @author programming * @version 1.0 2009-3-11下午04:48:22 * @JDK 5 */ @SuppressWarnings("unchecked") public class UserDao extends SqlMapClientDaoSupport implements IUserDao { @Override public List<User> findAllUser() { return this.getSqlMapClientTemplate().queryForList("User.select"); } @Override public User findUserByNameAndPass(User user) { List<User> list = this.getSqlMapClientTemplate().queryForList("User.query", user.transfer2Map()); if (list.size() == 1) { return list.get(0); } return null; } @Override public User getById(int id) { return (User) this.getSqlMapClientTemplate().queryForObject("User.findByPrimarykey", id); } @Override public boolean saveUser(User user) { this.getSqlMapClientTemplate().insert("User.insert", user); return true; } @Override public void updateUser(User user) { this.getSqlMapClientTemplate().update("User.update", user); } } package com.ssi.dao.impl; import java.util.List; import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport; import com.ssi.dao.IUserDao; import com.ssi.model.User; /** * 功能: * * @author programming * @version 1.0 2009-3-11下午04:48:22 * @JDK 5 */ @SuppressWarnings("unchecked") public class UserDao extends SqlMapClientDaoSupport implements IUserDao { @Override public List<User> findAllUser() { return this.getSqlMapClientTemplate().queryForList("User.select"); } @Override public User findUserByNameAndPass(User user) { List<User> list = this.getSqlMapClientTemplate().queryForList("User.query", user.transfer2Map()); if (list.size() == 1) { return list.get(0); } return null; } @Override public User getById(int id) { return (User) this.getSqlMapClientTemplate().queryForObject("User.findByPrimarykey", id); } @Override public boolean saveUser(User user) { this.getSqlMapClientTemplate().insert("User.insert", user); return true; } @Override public void updateUser(User user) { this.getSqlMapClientTemplate().update("User.update", user); } } UserAction 代码: Java代码 package com.ssi.action; import java.util.List; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; import com.ssi.model.User; import com.ssi.service.IUserService; import com.ssi.service.impl.UserService; /** * 功能: * * @author programming * @version 1.0 2009-3-10下午05:02:14 * @JDK 5 */ public class UserAction extends ActionSupport { private User user; private IUserService userService; /** * @return the user */ public User getUser() { return user; } /** * @param user * the user to set */ public void setUser(User user) { this.user = user; } /** * @param userService * the userService to set */ public void setUserService(UserService userService) { this.userService = userService; } public String login() throws Exception { if (userService.login(user)) { ServletActionContext.getContext().getSession().put("user", user); return SUCCESS; } return LOGIN; } public String regist() throws Exception { userService.register(user); ServletActionContext.getContext().getSession().put("user", user); return SUCCESS; } public String list() throws Exception { List<User> userList = this.userService.query(); ServletActionContext.getContext().getSession().put("userList", userList); return SUCCESS; } } package com.ssi.action; import java.util.List; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; import com.ssi.model.User; import com.ssi.service.IUserService; import com.ssi.service.impl.UserService; /** * 功能: * * @author programming * @version 1.0 2009-3-10下午05:02:14 * @JDK 5 */ public class UserAction extends ActionSupport { private User user; private IUserService userService; /** * @return the user */ public User getUser() { return user; } /** * @param user * the user to set */ public void setUser(User user) { this.user = user; } /** * @param userService * the userService to set */ public void setUserService(UserService userService) { this.userService = userService; } public String login() throws Exception { if (userService.login(user)) { ServletActionContext.getContext().getSession().put("user", user); return SUCCESS; } return LOGIN; } public String regist() throws Exception { userService.register(user); ServletActionContext.getContext().getSession().put("user", user); return SUCCESS; } public String list() throws Exception { List<User> userList = this.userService.query(); ServletActionContext.getContext().getSession().put("userList", userList); return SUCCESS; } } UserService 代码 Java代码 package com.ssi.service.impl; import java.util.List; import com.ssi.dao.IUserDao; import com.ssi.model.User; import com.ssi.service.IUserService; /** * 功能: * * @author programming * @version 1.0 2009-3-11下午04:48:06 * @JDK 5 */ public class UserService implements IUserService { private IUserDao userDao; /** * @param userDao * the userDao to set */ public void setUserDao(IUserDao userDao) { this.userDao = userDao; } @Override public boolean login(User user) { User u = this.userDao.findUserByNameAndPass(user); if (u != null) return true; else return false; } @Override public void register(User user) { userDao.saveUser(user); } @Override public List<User> query() { return this.userDao.findAllUser(); } } package com.ssi.service.impl; import java.util.List; import com.ssi.dao.IUserDao; import com.ssi.model.User; import com.ssi.service.IUserService; /** * 功能: * * @author programming * @version 1.0 2009-3-11下午04:48:06 * @JDK 5 */ public class UserService implements IUserService { private IUserDao userDao; /** * @param userDao * the userDao to set */ public void setUserDao(IUserDao userDao) { this.userDao = userDao; } @Override public boolean login(User user) { User u = this.userDao.findUserByNameAndPass(user); if (u != null) return true; else return false; } @Override public void register(User user) { userDao.saveUser(user); } @Override public List<User> query() { return this.userDao.findAllUser(); } } ssi-user-sqlmap.xml 内容: Java代码 <?xml version="1.0" encoding="GB2312" ?> <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"> <sqlMap namespace="User"> <typeAlias alias="user" type="com.ssi.model.User" /> <resultMap class="com.ssi.model.User" id="userResult"> <result property="id" column="userid" /> <result property="username" column="username" /> <result property="password" column="password" /> <result property="email" column="email" /> </resultMap> <sql id="queryCondition"> <dynamic prepend=""> <isNotNull property="username" prepend="and"> <![CDATA[ username = #username# ]]> </isNotNull> <isNotNull property="password" prepend="and"> <![CDATA[ password = #password# ]]> </isNotNull> </dynamic> </sql> <insert id="User.insert" > <![CDATA[ insert into user(username,password,email) value(#username#,#password#,#email#) ]]> </insert> <update id="User.update"> <![CDATA[ update user set username=#username#,password=#password#,email=#email# where userid=#id# ]]> </update> <delete id="User.deleteByPrimaryKey"> <![CDATA[ delete from user where userid = #value# ]]> </delete> <select id="User.findByPrimarykey" resultClass="user" parameterClass="long"> <![CDATA[ select * from user where userid=#value# ]]> </select> <select id="User.query" resultMap="userResult"> <![CDATA[ select * from user where 1=1 ]]> <include refid="queryCondition" /> </select> <select id="User.select" resultMap="userResult"> <![CDATA[ select * from user ]]> </select> </sqlMap> <?xml version="1.0" encoding="GB2312" ?> <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"> <sqlMap namespace="User"> <typeAlias alias="user" type="com.ssi.model.User" /> <resultMap class="com.ssi.model.User" id="userResult"> <result property="id" column="userid" /> <result property="username" column="username" /> <result property="password" column="password" /> <result property="email" column="email" /> </resultMap> <sql id="queryCondition"> <dynamic prepend=""> <isNotNull property="username" prepend="and"> <![CDATA[ username = #username# ]]> </isNotNull> <isNotNull property="password" prepend="and"> <![CDATA[ password = #password# ]]> </isNotNull> </dynamic> </sql> <insert id="User.insert" > <![CDATA[ insert into user(username,password,email) value(#username#,#password#,#email#) ]]> </insert> <update id="User.update"> <![CDATA[ update user set username=#username#,password=#password#,email=#email# where userid=#id# ]]> </update> <delete id="User.deleteByPrimaryKey"> <![CDATA[ delete from user where userid = #value# ]]> </delete> <select id="User.findByPrimarykey" resultClass="user" parameterClass="long"> <![CDATA[ select * from user where userid=#value# ]]> </select> <select id="User.query" resultMap="userResult"> <![CDATA[ select * from user where 1=1 ]]> <include refid="queryCondition" /> </select> <select id="User.select" resultMap="userResult"> <![CDATA[ select * from user ]]> </select> </sqlMap> sql-map.xml 同容 Java代码 <?xml version="1.0" encoding="GBK"?> <!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 cacheModelsEnabled="false" enhancementEnabled="false" lazyLoadingEnabled="false" maxRequests="3000" maxSessions="3000" maxTransactions="3000" useStatementNamespaces="false" /> <sqlMap resource="com/ssi/model/sql/ssi-user-sqlmap.xml" /> </sqlMapConfig> <?xml version="1.0" encoding="GBK"?> <!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 cacheModelsEnabled="false" enhancementEnabled="false" lazyLoadingEnabled="false" maxRequests="3000" maxSessions="3000" maxTransactions="3000" useStatementNamespaces="false" /> <sqlMap resource="com/ssi/model/sql/ssi-user-sqlmap.xml" /> </sqlMapConfig>
发表评论
-
spring分布式事务(jotm)
2010-06-17 22:19 1760分布式事务是指操作多个数据库之间的事务,在tomcat下,是没 ... -
Hibernate分页查询与泛型
2010-06-17 18:08 1012JE有两篇文章,关于分页查询 与泛型 的,写的很好.这里收藏一 ... -
Struts+Spring+Hibernate实现上传下载
2010-06-16 20:44 727Struts+Spring+Hibernate实现 ... -
ssh中利用pager-taglib和filter进行分页
2010-05-27 10:04 1620在ssh架构中利用pager-taglib和filter根据用 ... -
STRUTS2 SSL的一个好用插件
2010-05-18 13:52 1017最近遇到问题了,要用到SSL,比如某个连接https://xx ... -
Spring事务详解
2010-04-13 16:23 826Spring中事务的定义: 一 ... -
ssh整合分页
2010-01-26 16:57 1515dao 方法: Java代码 /** ... -
jbpm4整合struts2+spring2.5+hibernate3.3
2009-09-07 23:17 1853如果不结合其他的框 ... -
ssh2(struts2+spring2.5+hibernate3.3)自动生成代码程序
2009-09-07 23:00 1574为什么需要自动生成代 ...
相关推荐
struts2+spring2.5+ibatis
struts2+spring+Ibatis框架包
SSI2 Struts2+Spring2.5+IBatis2 配置 log4j.jar 版本不能低于1.2.13 此处为1.2.16,否则报FileNotFound异常
Struts2+Spring2.5+Ibatis2.3完成的架构,项目中有完整的sql文件和源码,并有详细注释!包含了常用的方法和数字分页的算法
Ext2.0+struts2+spring2.5+ibatis2 结合的例子
struts2 + spring2.5 + ibatis2.3.4整合包文件,包括了SSI框架整合开发所需的全部文件
一个基于struts2.18+spring2.5+ibatis2.3的SSI项目示例。需要的jar包自己添加
SSI项目实例,采用struts2.18+spring2.5+ibatis2.3实现,帮助需要帮助的朋友
完整的SSI增删改查小例子(包含全部jar包),导入Mycelipse中直接运行,你值得拥有!!!
整合了Ibatis+struts2.0+Spring2.5的增、删、改、查和调用存储过程
分为: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整合开发的...
struts1.3+spring2.5+ibatis2.3.4整合
struts2+ibatis2.x+spring2.5整合的一个demo 适合新手学习
参照jpetstore做出的Struts1.1+spring2.5+ibatis2.3+Ajax的整合、从页面输入学生的Id、光标离开后、页面利用无刷新技术从数据库取出显示在页面上。
Ibatis2.3,Struts1.3,Spring2.5框架整合简单实例代码,用了一周的业余时间,终于调通了。有需要的可以下载。
*架构struts2_spring2.5_ibatis2.3 *mysql5.0 *jdk 1.6 *带有所有jar包,可直接运行 本实例实现了用户登陆,用户信息CRUD相关操作。让你感受到了ibatis做o/r mapping的方便快捷。 下次集成dwr进来 create ...
NULL 博文链接:https://xdjava.iteye.com/blog/1074892
包括ssi框架整合所需包,配置文件如何配置,如何使用
Struts2.0+Springframework2.5+ibatis2.3完美整合实例