application-mvc.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:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:oscache="http://www.springmodules.org/schema/oscache" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-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 http://www.springmodules.org/schema/oscache http://www.springmodules.org/schema/cache/springmodules-oscache.xsd"> <context:annotation-config/> <!-- 扫描包 --> <context:component-scan base-package="com.org"/> <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <!-- 匹配jsp文件下面的所有.jsp的页面 --> <property name="prefix" value="/jsp/" /> <property name="suffix" value=".jsp" /> </bean> <!-- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/" p:suffix=".jsp" />--> <!-- 配置jdbc --> <bean class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer"> <property name="locations"> <value>classpath:jdbc.properties</value> </property> </bean> <!-- 配置數據源 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${jdbc.driver}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <!-- 连接池启动时的初始值 --> <property name="initialSize" value="1"/> <property name="maxActive" value="500"/> <property name="maxIdle" value="2"/> <property name="minIdle" value="1"/> </bean> <!-- 定义Ibatis配置 org.springframework.orm.ibatis.SqlMapClientFactoryBean --> <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <property name="configLocation"> <value>classpath:ibatis-Base.xml</value> </property> <property name="dataSource"> <ref bean="dataSource"/> </property> </bean> <!-- 配置sqlMapClientTemplate模板 --> <bean id="sqlMapClientTemplate" class="org.springframework.orm.ibatis.SqlMapClientTemplate"> <property name="sqlMapClient" ref="sqlMapClient"/> </bean> <!-- 配置 transactionManager事物管理--> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> <!-- Spring AOP config配置切点 --> <aop:config> <aop:pointcut expression="execution(* com.org.service.*.*(..))" id="bussinessService" /> <aop:advisor advice-ref="txAdvice" pointcut-ref="bussinessService"/> </aop:config> <!-- 配置那个类那个方法用到事务处理 --> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="get*" read-only="true"/> <tx:method name="add*" propagation="REQUIRED"/> <tx:method name="update*" propagation="REQUIRED"/> <tx:method name="delete*" propagation="REQUIRED"/> <tx:method name="*" propagation="REQUIRED"/> </tx:attributes> </tx:advice> </beans>
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <!-- #####################################配置处理乱码##################################### --> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>GBK</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- spring监听器 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <!-- 默认的配置 <param-value>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml</param-value> <param-value>/WEB-INF/application-servlet.xml</param-value> --> <param-value>classpath:application-*.xml</param-value> </context-param> <!-- #####################################Spring MVC配置################################# application-servlet.xml,规定:xxx-servlet.xml--> <servlet> <servlet-name>application</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:application-*.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>application</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <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>
model-user.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="userSqlMap"> <typeAlias alias="user" type="com.org.model.User" /> <!-- 条件查询 --> <select id="getUserList" resultClass="user"> select * from user </select> </sqlMap>
service
package com.org.service.impl; import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Service; import com.org.dao.IUserDao; import com.org.model.User; import com.org.service.IUserService; @Service public class UserServiceImpl implements IUserService{ /** * 注入 */ @Resource private IUserDao userDao; public List<User> getUserList() { return userDao.getUserList(); } }
Dao
package com.org.dao.impl; import java.util.List; import org.springframework.stereotype.Repository; import com.org.IbatisBaseDao; import com.org.dao.IUserDao; import com.org.model.User; @Repository public class UserDaoImpl extends IbatisBaseDao implements IUserDao{ public List<User> getUserList() { try { //return sqlMapClient.queryForList("getUserList"); return getSqlMapClientTemplate().queryForList("getUserList"); } catch (Exception e) { e.printStackTrace(); } return null; } }
IbatisBaseDao
package com.org; import javax.annotation.PostConstruct; import javax.annotation.Resource; import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport; import com.ibatis.sqlmap.client.SqlMapClient; /** * @author:liangjilong */ public class IbatisBaseDao extends SqlMapClientDaoSupport{ /** * spring注入 */ @Resource(name = "sqlMapClient") private SqlMapClient sqlMapClient; @PostConstruct public void initSqlMapClient() { super.setSqlMapClient(sqlMapClient); } }
UserController
package com.org.controller; import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import com.org.model.User; import com.org.service.IUserService; /** *@Author:liangjilong *@Date:2014-2-25 *@Version:1.0 *@Description: */ @Controller public class UserController { @Resource private IUserService userService; /*** * 方法一请求使用String * * 请求@RequestMapping匹配的URL * request * @param response * @return * @throws Exception */ @RequestMapping(value = "/userList1.do") public String userList1(HttpServletRequest request,HttpServletResponse response) throws Exception { List<User> lists=userService.getUserList(); if(lists!=null){ request.setAttribute("userList",lists); } //userList指跳转到userList.jsp页面 return "userList"; } /** * 方法二请求使用ModelAndView * @param request * @param response * @return * @throws Exception */ @RequestMapping(value = "/userList2.do") public ModelAndView userList2(HttpServletRequest request,HttpServletResponse response) throws Exception { List<User> lists=userService.getUserList(); if(lists!=null){ request.setAttribute("userList",lists); } //userList指跳转到userList.jsp页面 return new ModelAndView("userList"); } }
SQLScript
/* Navicat MySQL Data Transfer Source Server : MySQL Source Server Version : 50528 Source Host : localhost:3306 Source Database : test Target Server Type : MYSQL Target Server Version : 50528 File Encoding : 65001 Date: 2014-03-30 12:52:38 */ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for `user` -- ---------------------------- DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) DEFAULT NULL, `password` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1; -- ---------------------------- -- Records of user -- ---------------------------- INSERT INTO `user` VALUES ('1', 'admin', 'admin');
Entity
package com.org.model; import com.org.BaseEntity; public class User extends BaseEntity { private int id; private String password; private String username; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } }
相关推荐
本示例聚焦于“SpringMVC+ibatis+velocity”的整合应用,这是一套常用的Java Web开发组合,用于构建动态、数据驱动的网站。下面我们将深入探讨这三个组件的核心功能及其整合过程。 首先,SpringMVC是Spring框架的一...
SpringMVC与Ibatis的整合通常通过Spring的SqlSessionFactoryBean和MyBatisSqlSessionFactory配置完成。这样,Spring可以管理SqlSession的生命周期,并通过@Autowired注解实现Service层对DAO层的依赖注入。 在实际...
在这个"SpringMVC+Velocity+iBATIS的整合小demo"中,可能包含了这些配置文件、Controller类、Service接口及其实现、Mapper接口及其XML配置、Velocity模板文件等。通过这些文件,我们可以看到一个完整的Java Web应用...
《Spring+Ibatis+SpringMVC简单集成案例详解》 在现代Java Web开发中,Spring框架因其强大的功能和灵活性而备受青睐。它不仅提供了依赖注入(DI)和面向切面编程(AOP)的核心特性,还通过SpringMVC扩展了对Web应用...
总结来说,"springMVC+spring+Ibatis增删改查的demo" 提供了一个完整的后端解决方案,通过集成这三大框架,实现了与数据库交互的基本功能。对于初学者而言,这是一个很好的学习资源,可以深入了解如何在实际项目中...
通过XML配置或注解,开发者可以定义SQL映射文件,将SQL查询与Java方法关联。这样,当执行特定的Java方法时,iBATIS会动态生成并执行对应的SQL,返回结果集供业务层使用。iBATIS还支持事务管理,可以与Spring的事务...
【标题】"WebDemo:SpringMVC + iBatis的示例,这是一个详细项目" 提供了一个关于如何集成和使用SpringMVC与iBatis框架的实战应用。这个项目是针对Java开发者的,旨在帮助他们理解和掌握这两种流行技术在实际web开发...
本项目是一个基于SpringMVC、Spring、Hibernate和jQuery的完整分页应用,涵盖了后端服务、数据持久化、前端交互等多个重要技术领域。下面将详细解释这些技术及其在项目中的应用。 1. SpringMVC:SpringMVC是Spring...
【标题】"springmvc-ibatis-html模版登录后台模版demo"是一个示例项目,它演示了如何在Java Web开发中结合Spring MVC和iBatis框架构建一个包含登录功能的后台模板。这个项目旨在帮助开发者理解这两个流行框架在实际...
### SSM三大框架的整合(Spring+SpringMVC+MyBatis) #### 1、基本概念 ##### 1.1、Spring Spring 是一个开源框架,最初由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分...
在现代Web开发中,Spring MVC框架是Java领域中...通过这样的整合,我们可以方便地实现前后端的数据交互,同时利用MyBatis进行高效的数据操作。在实际开发中,这样的示例能帮助开发者快速搭建起一个运行良好的Web应用。
在本文中,我们将深入探讨如何将Spring Boot与MyBatis集成,从而构建一个高效、简洁的SSM(Spring、SpringMVC、MyBatis)应用。Spring Boot以其自动化配置和开箱即用的特性,极大地简化了Java Web开发。而MyBatis...
- MyBatis 最初源自 Apache 的一个开源项目 iBatis,在 2010 年 6 月,该项目由 Apache Software Foundation 迁移到 Google Code,并正式更名为 MyBatis。 - 自此以后,MyBatis 成为了一个基于 Java 的持久层框架...