下面我将为您详细讲解如何在Spring MVC框架下整合SSM(Spring + SpringMVC + MyBatis)框架,并提供两个示例说明。
步骤一:创建Maven项目
首先,您需要创建一个Maven项目,以便引入所需的库和依赖项。创建完成后,在pom.xml中添加以下依赖:
<dependencies>
<!-- Spring MVC dependencies -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.8.RELEASE</version>
</dependency>
<!-- MyBatis dependencies -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.5</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.5</version>
</dependency>
<!-- Spring dependencies -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.2.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.2.8.RELEASE</version>
</dependency>
</dependencies>
步骤二:配置web.xml
接下来,在web.xml文件中添加以下代码:
<!-- 配置Spring MVC Servlet -->
<servlet>
<servlet-name>springMvc</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>
<servlet-mapping>
<servlet-name>springMvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<!-- 配置Spring监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/applicationContext.xml</param-value>
</context-param>
步骤三:创建配置文件
接下来创建SSM框架所需要的配置文件。其中,spring/applicationContext.xml中应该包含以下代码:
<!-- 数据库连接配置 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
<!-- MyBatis配置 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="typeAliasesPackage" value="com.example.model" />
<property name="configLocation" value="classpath:mybatis-config.xml" />
</bean>
<!-- Mapper扫描 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.example.dao" />
</bean>
<!-- 事务管理器 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />
其中,dataSource的用户名和密码应该替换为本地数据库的用户名和密码。同时,jdbc.driverClassName、jdbc.url、jdbc.username和jdbc.password应该在后续的配置文件中进行设置。
接下来在spring目录下,创建springMvc.xml,其内容应为:
<!-- 扫描Controller -->
<context:component-scan base-package="com.example.controller" />
<!-- 静态文件路径 -->
<mvc:resources location="/resources/" mapping="/resources/**" />
<!-- jsp文件路径配置 -->
<mvc:view-controller path="/index" view-name="/index" />
<mvc:view-controller path="/" view-name="/index" />
<mvc:default-servlet-handler />
<mvc:annotation-driven />
其中,需要指定controller的包名。view-controller中的path和view-name可以根据实际需要自行进行修改。
最后,在src/main/resources/目录下创建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="cacheEnabled" value="true"/>
<setting name="lazyLoadingEnabled" value="true"/>
<setting name="aggressiveLazyLoading" value="false"/>
<setting name="multipleResultSetsEnabled" value="true"/>
<setting name="useColumnLabel" value="true"/>
<setting name="useGeneratedKeys" value="false"/>
<setting name="autoMappingBehavior" value="PARTIAL"/>
<setting name="defaultExecutorType" value="SIMPLE"/>
<setting name="mapUnderscoreToCamelCase" value="true"/>
<setting name="localCacheScope" value="SESSION"/>
<setting name="jdbcTypeForNull" value="OTHER"/>
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
</configuration>
步骤四:创建Controller和Model
在com.example.controller包下创建UserController.java文件,其内容如下:
import com.example.dao.UserDao;
import com.example.model.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserDao userDao;
@RequestMapping(value = "/list")
public String list(Model model) {
List<User> userList = userDao.findAll();
model.addAttribute("userList", userList);
return "user/list";
}
}
在com.example.dao包下创建UserDao.java和UserMapper.xml文件,内容如下:
public interface UserDao {
List<User> findAll();
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.dao.UserDao">
<select id="findAll" resultType="com.example.model.User">
select * from user;
</select>
</mapper>
在com.example.model包下创建User.java文件,其内容为:
public class User {
private int id;
private String name;
// getter, setter method ...
}
步骤五:创建jsp文件
在src/main/webapp/WEB-INF/views/user目录下创建list.jsp文件,内容如下:
<%@ page contentType="text/html; charset=UTF-8" language="java" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<html>
<head>
<title>用户列表</title>
</head>
<body>
<h1>用户列表</h1>
<table border="1">
<thead>
<tr>
<th>ID</th>
<th>姓名</th>
</tr>
</thead>
<tbody>
<c:forEach var="user" items="${userList}">
<tr>
<td>${user.id}</td>
<td>${user.name}</td>
</tr>
</c:forEach>
</tbody>
</table>
</body>
</html>
步骤六:配置文件的详细信息
最后,您需要在application.properties中设置数据库连接信息,如下所示:
jdbc.driverClassName=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
jdbc.username=root
jdbc.password=root
其中,jdbc.url应该修改为您本地数据库的地址。
示例说明
示例一:显示用户列表
通过UserController类上的@RequestMapping注解指定/user/list路径,访问该路径时,将调用list方法,并将返回值指定为user/list的jsp文件。在list方法中,通过userDao.findAll()查询当前数据库中所有的用户并返回user/list视图。
示例二:添加新用户
在UserController类中添加add方法,并在/user/add路径的@RequestMapping注解中添加method=RequestMethod.POST参数。在add方法中,使用@RequestParam注解注入POST请求中的参数,将其映射到User对象中。随后调用userDao.add(user)方法完成用户的添加。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springmvc整合ssm配置的详细代码 - Python技术站