以下是“IDEA + Maven环境下的SSM框架整合及搭建过程”的完整攻略:
一、环境准备
首先确认开发环境已经具备以下工具和组件:
- JDK
- Tomcat
- MySQL
- Maven
- IDEA
二、创建Maven项目
- 在IDEA中创建Maven项目,选择Spring Initializr模板,在GroupId中输入自定义的项目组织名称(如
com.example
),ArtifactId中输入项目名称(如myssm
),选择Maven版本、语言和Spring Boot版本等相关信息。 - 按照提示选择所需的依赖,包括Spring、MyBatis、MySQL、SpringMVC等,也可以在之后的
pom.xml
文件中手动添加所需的依赖。
三、SSM框架整合
- 在
pom.xml
文件中添加SSM框架所需的依赖:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>{mybatis-spring-boot-starter-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>{spring-version}</version>
</dependency>
其中mybatis-spring-boot-starter
为MyBatis的集成器,spring-jdbc
为Spring框架的组件。
- 添加数据库配置文件
application.properties
,配置如下:
spring.datasource.url=jdbc:mysql://localhost:3306/{database-name}?useSSL=false&serverTimezone=UTC
spring.datasource.username={database-username}
spring.datasource.password={database-password}
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
mybatis.type-aliases-package=com.example.entity
mybatis.mapper-locations=classpath:mapper/*.xml
其中{database-name}
、{database-username}
和{database-password}
需要替换为实际的连接数据库的相关参数。
- 创建实体类和Mapper接口
在src/main/java
目录下创建实体类和Mapper接口,如下:
// 实体类
package com.example.entity;
public class User {
private int id;
private String name;
private String password;
// 省略getter和setter
}
// Mapper接口
package com.example.mapper;
import com.example.entity.User;
public interface UserMapper {
User findUserById(int id);
}
- 创建Mapper.xml文件
在src/main/resources/mapper
目录下创建UserMapper.xml
文件,并配置如下:
<?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.mapper.UserMapper">
<select id="findUserById" resultType="com.example.entity.User">
select * from users where id=#{id}
</select>
</mapper>
其中,#{id}
为Mapper接口中findUserById
方法中的参数。
- 添加SpringMVC配置文件
在src/main/resources
目录下创建SpringMVC配置文件spring-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:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd">
<!-- 添加SpringMVC注解扫描 -->
<context:component-scan base-package="com.example.controller" />
<!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
</bean>
</beans>
其中com.example.controller
为Controller类所在的包名。
- 编写Controller类
在src/main/java
目录下创建Controller类,如下:
package com.example.controller;
import com.example.entity.User;
import com.example.mapper.UserMapper;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.annotation.Resource;
@Controller
@RequestMapping("/")
public class UserController {
@Resource
private UserMapper userMapper;
@RequestMapping("user/{id}")
public String getUserById(@PathVariable int id, ModelMap model) {
User user = userMapper.findUserById(id);
model.put("user", user);
return "user";
}
}
其中@Resource
为DI注入,用于注入UserMapper
实例。
- 编写JSP文件
在src/main/webapp/WEB-INF/views
目录下,创建user.jsp
文件,展示查询出来的用户信息。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>User Information</title>
<style>
table {
border-collapse: collapse;
width: 50%;
}
th, td {
padding: 8px;
text-align: left;
border-bottom: 1px solid #ddd;
}
</style>
</head>
<body>
<h1>User Information</h1>
<table>
<tr>
<th>ID</th>
<th>Name</th>
<th>Password</th>
</tr>
<c:if test="${not empty user}">
<tr>
<td>${user.id}</td>
<td>${user.name}</td>
<td>${user.password}</td>
</tr>
</c:if>
</table>
</body>
</html>
其中<c:if>
标签用于判断查询结果是否为空,如果不为空,则将查询结果渲染到网页中。
四、示例
以下是两个查询用户信息的示例:
-
直接访问Controller方法:
http://localhost:8080/user/1
-
使用AJAX异步请求查询用户信息:
// jQuery异步请求
$.get("/user/1", function (data) {
$("#result").html(data);
});
// HTML代码
<div id="result"></div>
五、总结
通过以上步骤,我们可以快速搭建一个基于IDEA + Maven环境下的SSM框架整合的项目,完成了数据持久化和MVC控制层的搭建。这个示例可以作为后续开发的一个基础骨架,在此基础上,可以进一步加强项目的功能和安全性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:IDEA + Maven环境下的SSM框架整合及搭建过程 - Python技术站