ssm整合经验(SpringMVC+Mybatis)

简介: 1.1 web.xml 使用IDEA maven自动生成的项目,会生成一个2.3版本的web.xml文件,首先要修改成3.

1.1 web.xml

   使用IDEA maven自动生成的项目,会生成一个2.3版本的web.xml文件,首先要修改成3.1版本的.以下是头文件.
<?xml version="1.0" encoding="UTF-8"?>
        <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                 http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1"
        metadata-complete="true">

1. 2 添加DispatcherServlet

 <servlet>
    <servlet-name>seckill-servlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!--配置springmvc加载的文件-->
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring/spring-*.xml</param-value>
    </init-param>
</servlet>

<servlet-mapping>
    <servlet-name>seckill-servlet</servlet-name>
    <!--默认匹配所有的请求-->
    <url-pattern>/</url-pattern>
</servlet-mapping>

2.1 spring.xml

以下是spring相关文件的头部,在spring-*.xml中头文件是公用的,后期配置上相关的头时,IDEA会自动添加.
Ps:注意一定要看清路径,否则相关组件不会生效.

<?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.xsd">

</beans>

2.2 spring-dao.xml

这个是连接数据库和整合mybatis的配置文件.
  1. 首先要注入jdbc的配置文件

    <!—注入jdbc配置文件-->
    <context:property-placeholder location="classpath:jdbc.properties"/>
    

    ①. jdbc.properties文件

        driverClass=com.mysql.jdbc.Driver
        jdbcUrl=jdbc:mysql://127.0.0.1:3306/seckill
        user=root
        password=root
    
  2. 进行数据库连接池的配置

    <!--数据库连接池 c3p0-->
        <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${driverClass}"/>
        <property name="jdbcUrl" value="${jdbcUrl}"/>
        <property name="user"   value="${user}"/>
        <property name="password" value="${password}"/>
    
        <!--设置数据库中最大连接值30-->
        <property name="maxPoolSize" value="30"/>
        <!--设置数据库中最小连接值10-->
        <property name="minPoolSize" value="10"/>
        <!--开启自动提交事物-->
        <property name="autoCommitOnClose" value="false"/>
        <!--等待超时抛出异常1s,默认0-->
        <property name="checkoutTimeout" value="1000"/>
        <!--连接数据库失败后重试次数2次-->
        <property name="acquireRetryAttempts" value="2"/>
    </bean>
    
  3. 配置sqlSessionFactory对象

    <!--sqlSessionFactory对象-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 注入dataSource-->
        <property name="dataSource" ref="dataSource"/>
        <!--引入mybatis-config.xml-->
        <property name="configLocation" value="classpath:mybatis-config.xml"/>
        <!--要扫描的相关实体类-->
        <property name="typeAliasesPackage" value="com.seckill.entity"/>
        <!--dao接口中相对应的mapper.xml-->
        <property name="mapperLocations" value="classpath:mapper/*.xml"/>
    </bean>
    

    ②. mybatis-config.xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="useGeneratedKeys" value="true"/>
<setting name="useColumnLabel" value="true"/>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
</configuration>

useGeneratedKeys 允许 JDBC 支持自动生成主键,需要驱动兼容。 如果设置为 true 则这个设置强制使用自动生成主键,尽管一些驱动不能兼容但仍可正常工作(比如 Derby)。

useColumnLabel 使用列标签代替列名。不同的驱动在这方面会有不同的表现, 具体可参考相关驱动文档或通过测试这两种不同的模式来观察所用驱动的结果。

mapUnderscoreToCamelCase 是否开启自动驼峰命名规则(camel case)映射,即从经典数据库列名 A_COLUMN 到经典 Java 属性名 aColumn 的类似映射。

 4.扫描dao接口

    <!--扫描dao-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!--注入sqlSessionFactory对象-->
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
        <!--扫描dao包地址-->
        <property name="basePackage" value="com.seckill.dao"/>
    </bean>

2.3 spring-service.xml

相关spring中service的业务逻辑层的控制

<!--配置注解-->
<context:component-scan base-package="com.seckill.service"/>
<!--配置事物管理器-->
<bean id="transactionManager"  class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <!--注入数据库连接池-->
    <property name="dataSource" ref="dataSource"/>
</bean>
<!--配置注解的声明式事物,默认使用注解来管理事物行为-->
<tx:annotation-driven transaction-manager="transactionManager"/>

2.4 spring-web.xml

相关连接web前端的配置文件

<!--配置springMVC-->
<!--开启注解-->
<mvc:annotation-driven/>

<!--开启默认的handler-->
<mvc:default-servlet-handler/>

<!--前端页面的相关配置-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
    <property name="prefix" value="/WEB-INF/jsp/"/>
    <property name="suffix" value=".jsp"/>
</bean>

<!--扫描web相关包-->
<context:component-scan base-package="com.seckill.web"/>

这是我的项目文件.

这里写图片描述

目录
相关文章
|
3天前
|
设计模式 前端开发 Java
初识Spring MVC
初识Spring MVC
10 0
|
3天前
|
前端开发 Java 应用服务中间件
Spring MVC框架概述
Spring MVC 是一个基于Java的轻量级Web框架,采用MVC设计模型实现请求驱动的松耦合应用开发。框架包括DispatcherServlet、HandlerMapping、Handler、HandlerAdapter、ViewResolver核心组件。DispatcherServlet协调这些组件处理HTTP请求和响应,Controller处理业务逻辑,Model封装数据,View负责渲染。通过注解@Controller、@RequestMapping等简化开发,支持RESTful请求。Spring MVC具有清晰的角色分配、Spring框架集成、多种视图技术支持以及异常处理等优点。
11 1
|
6天前
|
监控 前端开发 Java
SpringBoot与SpringMVC有哪些区别?
SpringBoot和SpringMVC是Java开发中常用的两个框架,它们都是由Spring框架所提供的,但在功能和使用方式上有着一些区别。
18 2
|
29天前
|
数据采集 前端开发 Java
数据塑造:Spring MVC中@ModelAttribute的高级数据预处理技巧
数据塑造:Spring MVC中@ModelAttribute的高级数据预处理技巧
23 3
|
29天前
|
存储 前端开发 Java
会话锦囊:揭示Spring MVC如何巧妙使用@SessionAttributes
会话锦囊:揭示Spring MVC如何巧妙使用@SessionAttributes
14 1
|
29天前
|
前端开发 Java Spring
数据之桥:深入Spring MVC中传递数据给视图的实用指南
数据之桥:深入Spring MVC中传递数据给视图的实用指南
33 3
|
29天前
|
前端开发 Java 容器
家族传承:Spring MVC中父子容器的搭建与管理指南
家族传承:Spring MVC中父子容器的搭建与管理指南
26 3
|
29天前
|
前端开发 Java API
头头是道:揭示Spring MVC如何获取和处理请求头数据
头头是道:揭示Spring MVC如何获取和处理请求头数据
26 1
|
29天前
|
前端开发 Java API
饼干探秘:深入Spring MVC中获取Cookie数据的技术解析
饼干探秘:深入Spring MVC中获取Cookie数据的技术解析
18 3
|
29天前
|
前端开发 Java Spring
转换之术:解析Spring MVC中类型转换器的实际运用
转换之术:解析Spring MVC中类型转换器的实际运用
22 0