ssm--1.Spring4+mybatis3+Spring4 mvc整合
来源:互联网 发布:linux 终端快捷键 编辑:程序博客网 时间:2024/06/06 05:12
1 springmvc和mybatis整合工程搭建
1.1 整合思路
在mybatis和spring整合的基础上 添加springmvc。(自已参看以前Spring整合mybatis)
spring要管理springmvc编写的Handler(controller)、mybatis的SqlSessionFactory、mapper
第一步:整合dao,spring和mybatis整合
第二步:整合service,spring管理service接口,service中可以调用spring容器中dao(mapper)
第三步:整合controller,spring管理controller接口,在controller调用service
1.2 jar包 40个
mybatis:3.2.7 10个
spring:4.2.4 20个
mybatis和spring整合包 1个
数据库驱动包,jdbc连接池,c3p0,虽说不一定都用的道,但没坏处 4个
log4j日志.. 1个
Jstl 2个
要在 spring 应用中使用 AspectJ注解, 必须在 classpath 下包含 AspectJ 类库: aopalliance.jar、aspectj.weaver.jar和 spring-aspects.jar 一般2个就行
1.3 工程结构
po及mapper已由逆向工程生成
1.3.1 配置文件
applicationContext-dao.xml---配置SqlSessionFactory(数据源 , mybati配置文件)、mapper扫描器
applicationContext-service.xml---配置service接口
applicationContext-transaction.xml--事务管理
sprintmvc.xml---springmvc的配置,配置处理器映射器、适配器、视图解析器
SqlMapConfig.xml---mybatis的配置文件,配置别名、settings、mapper
web.xml的配置文件:一切程序的起点:扫描spring,扫描springmvc的dispatcherServlet
1.3.2 applicationContext-dao.xml
配置mybatis的数据源、sqlSessionFactory、mapper扫描器
<?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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-4.2.xsd"> <!-- 配置数据源 --> <context:property-placeholder location="classpath:db.properties" /> <!-- 数据库连接池 --> <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}"/> </bean> <!-- sqlSessionFactory --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 数据源 --> <property name="dataSource" ref="dataSource"></property> <!-- mybatis配置文件 --> <property name="configLocation" value="classpath:mybatis/SqlMapConfig.xml"></property> </bean> <!-- 配置mapper MapperFactoryBean:用于生成mapper代理对象 MapperScannerConfigurer:mapper的扫描器,将包下边的mapper接口自动创建代理对象, 自动创建到spring容器中,bean的id是mapper的类名(首字母小写) --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!-- 配置扫描包的路径 如果要扫描多个包,中间使用半角逗号分隔 --> <property name="basePackage" value="ssm.mapper"/> <!-- 使用sqlSessionFactoryBeanName --> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/> </bean></beans>
1.3.3 applicationContext-transation.xml
在此配置文件配置事务,声明式事务控制。
事务管理器:
<!-- 定义事务管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <!-- 通知 --> <tx:advice id="txAdvice"transaction-manager="transactionManager"> <tx:attributes> <tx:method name="save*" propagation="REQUIRED"/> <tx:method name="insert*" propagation="REQUIRED"/> <tx:method name="update*" propagation="REQUIRED"/> <tx:method name="delete*" propagation="REQUIRED"/> <tx:method name="find*" propagation="SUPPORTS"read-only="true"/> <tx:method name="select*" propagation="SUPPORTS"read-only="true"/> <tx:method name="get*" propagation="SUPPORTS"read-only="true"/> </tx:attributes> </tx:advice> <!-- aop--> <aop:config> <aop:advisor advice-ref="txAdvice" pointcut="execution(*ssm.service.impl.*.*(..))"/> </aop:config>
1.4 前端控制器配置
<!-- The front controller ofthis Spring Web application, responsible for handling all application requests--> <servlet> <servlet-name>springDispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/springmvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!-- Map all requests to the DispatcherServlet forhandling --> <servlet-mapping> <servlet-name>springDispatcherServlet</servlet-name> <url-pattern>*.action</url-pattern> </servlet-mapping>
1.5 配置springmvc.xml
<!-- 使用spring组件扫描 --> <context:component-scan base-package="ssm.controller" /> <!-- 可以替代处理器,适配器 --> <mvc:annotation-driven></mvc:annotation-driven> <!-- 注解处理器映射器 --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"></bean> <!-- 注解适配器 --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/> <!-- 配置视图解析器要求将jstl的包加到classpath --> <!-- ViewResolver --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp"/> </bean>
1.6 商品列表开发
1.6.1 需求
查询商品列表,逆向工程
1.6.2 mapper
功能描述:根据条件查询商品信息,返回商品列表
一般情况下针对查询mapper需要自定义mapper。
首先针对单表进行逆向工程,生成代码。
1.6.2.1 mapper.xml
<mapper namespace="ssm.mapper.ItemsMapperCustom"><!-- 商品查询的sql片段建议是以单表为单位定义查询条件建议将常用的查询条件都写出来 --><sql id="query_items_where"><if test="itemsCustom!=null"><if test="itemsCustom.name!=null and itemsCustom.name!=''">and name like '%${itemsCustom.name}%'</if><if test="itemsCustom.id!=null">and id = #{itemsCustom.id}</if></if></sql><!-- 商品查询 parameterType:输入 查询条件--><select id="findItemsList" parameterType="ssm.po.ItemsQueryVo" resultType="ssm.po.ItemsCustom">SELECT * FROM items <where><include refid="query_items_where"/></where></select>
1.6.2.2 包装类,实现类:
1.6.2.3 mapper.java
/** * Description:商品自定义mapper */public interface ItemsMapperCustom {// 商品查询列表public List<ItemsCustom> findItemsList(ItemsQueryVo itemsQueryVo)throws Exception;}
1.6.3 service.impl
public class ItemsServiceImpl implements ItemsService {//注入mapper@Autowiredprivate ItemsMapperCustom itemsMapperCustom;//商品查询列表@Overridepublic List<ItemsCustom> findItemsList(ItemsQueryVo itemsQueryVo)throws Exception {return itemsMapperCustom.findItemsList(itemsQueryVo);}}
1.6.4 在applicationContext-service.xml中配置service
1.6.5 controller
/** * Description:商品管理 */@Controllerpublic class ItemsController {//注入service@Autowiredprivate ItemsService itemsService;@RequestMapping("/queryItems")public ModelAndView queryItems(HttpServletRequest request) throws Exception {System.out.println(request.getParameter("id"));//调用service查询商品列表List<ItemsCustom> itemsList = itemsService.findItemsList(null);ModelAndView modelAndView = new ModelAndView();modelAndView.addObject("itemsList", itemsList);// 指定逻辑视图名modelAndView.setViewName("itemsList");return modelAndView;}
1.6.6 jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>查询商品列表</title></head><body> <form action="${pageContext.request.contextPath }/items/queryItem.action" method="post">查询条件:<table width="100%" border=1><tr><td><input type="submit" value="查询"/></td></tr></table>商品列表:<table width="100%" border=1><tr><td>商品名称</td><td>商品价格</td><td>生产日期</td><td>商品描述</td><td>操作</td></tr><c:forEach items="${itemsList }" var="item"><tr><td>${item.name }</td><td>${item.price }</td><td><fmt:formatDate value="${item.createtime}" pattern="yyyy-MM-dd HH:mm:ss"/></td><td>${item.detail }</td><td><a href="${pageContext.request.contextPath }/items/editItems.action?id=${item.id}">修改</a></td></tr></c:forEach></table></form></body></html>
1.6.7 在web.xml配置spring监听器
习惯最开始都写了
在tomcat部署上去,在浏览器输入http://127.0.0.1:8080/ssm/queryItems.action
源代码文件:http://download.csdn.net/detail/qq_26553781/9766211
- ssm--1.Spring4+mybatis3+Spring4 mvc整合
- Spring4--Spring4整合mybatis3
- spring4 + mybatis3 + spring mvc + veloctiy + maven 整合
- spring4+mybatis3的整合
- spring4整合mybatis3
- Mybatis3+Spring4+SpringMVC4 整合
- Struts2+Spring4+myBatis3整合
- Mybatis3+Spring4+SpringMVC4 整合
- Mybatis3+Spring4+SpringMVC4 整合
- Mybatis3+Spring4+SpringMVC4 整合
- spring4和mybatis3整合
- Mybatis3+Spring4+SpringMVC4 整合
- Mybatis3+Spring4+SpringMVC4 整合
- Spring4整合Mybatis3
- spring4 + mybatis3 整合
- Mybatis3+Spring4+SpringMVC4 整合
- SSM整合最新版,spring4.2,springmvc4.2,mybatis3.2整合
- SSM整合最新版,spring4.2,springmvc4.2,mybatis3.2整合
- Burp Suit使用手册
- 如何在linux环境下开启oracle数据库
- QT 打开文件对话框总结
- CentOS 7.0关闭默认防火墙启用iptables防火墙
- 面试感悟----一名3年工作经验的程序员应该具备的技能
- ssm--1.Spring4+mybatis3+Spring4 mvc整合
- 浅谈SQL SERVER中事务的ACID
- URAL-1627-Join(生成树计数模板)
- mysql安装,mysql远程登录
- jQuery遍历
- c++指针实例说明
- 基于Angluar ui-router的权限管理
- linux 文件操作
- zynq-mpsoc系列之用petalinux生成BOOT.bin文件