做一个简单SSM整合项目
时间: 2023-07-30 12:10:45 浏览: 69
好的,我来解答你的问题。首先需要明确的是,SSM指的是Spring+SpringMVC+MyBatis三个框架的整合。
以下是一个简单的SSM整合项目的步骤:
1.创建Maven项目并导入相关依赖:在pom.xml文件中添加Spring、SpringMVC、MyBatis和数据库驱动等相关依赖。
2.配置Spring:在Spring配置文件中配置数据源、事务管理器和MyBatis相关的bean。
3.配置SpringMVC:在SpringMVC配置文件中配置视图解析器、静态资源访问和控制器等。
4.配置MyBatis:在MyBatis配置文件中配置数据源和mapper等。
5.编写实体类和mapper接口:按照数据库表结构定义实体类和mapper接口,并在mapper接口中定义SQL语句。
6.编写Service和Controller:在Service中实现业务逻辑,在Controller中处理请求和响应。
7.配置web.xml:配置DispatcherServlet和ContextLoaderListener等。
以上是简单的SSM整合项目的步骤,你可以根据自己的需求进行扩展和优化。
相关问题
ssm整合项目
SSM(Spring+SpringMVC+MyBatis)是一种常见的Java企业级Web开发框架,它将Spring、SpringMVC和MyBatis集成在一起,提供了强大的功能和良好的可扩展性。下面是一个简单的SSM整合项目的示例。
1. 环境准备
- JDK 1.8
- Maven 3.x
- IntelliJ IDEA 或 Eclipse
2. 创建Maven项目
在IDEA或Eclipse中创建一个Maven项目,选择Web Application类型。在pom.xml文件中添加以下依赖:
```xml
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.9.RELEASE</version>
</dependency>
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.4</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.6</version>
</dependency>
<!-- 数据库驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.21</version>
</dependency>
<!-- Servlet API -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
```
3. 创建数据库
创建一个名为`test`的数据库,然后创建一个名为`user`的表,包含以下字段:
- id
- name
- age
4. 配置Spring
在src/main/resources目录下创建一个名为`applicationContext.xml`的Spring配置文件,配置MyBatis和数据源:
```xml
<!-- 数据源 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>
<!-- MyBatis配置 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<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>
```
在src/main/resources目录下创建一个名为`mybatis-config.xml`的MyBatis配置文件,配置Mapper接口的位置和别名:
```xml
<configuration>
<typeAliases>
<package name="com.example.entity"/>
</typeAliases>
<mappers>
<mapper class="com.example.dao.UserMapper"/>
</mappers>
</configuration>
```
5. 配置SpringMVC
在src/main/webapp/WEB-INF目录下创建一个名为`web.xml`的Web配置文件,配置SpringMVC的DispatcherServlet:
```xml
<!-- SpringMVC配置 -->
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
```
在src/main/webapp/WEB-INF目录下创建一个名为`dispatcher-servlet.xml`的SpringMVC配置文件,配置视图解析器和控制器:
```xml
<!-- 视图解析器 -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
<!-- 控制器 -->
<bean id="userController" class="com.example.controller.UserController">
<property name="userService" ref="userService"/>
</bean>
<!-- 扫描Controller -->
<context:component-scan base-package="com.example.controller"/>
```
6. 编写代码
创建一个名为`User`的JavaBean,包含id、name和age属性,以及对应的getter和setter方法。
创建一个名为`UserMapper`的Mapper接口,定义以下方法:
```java
public interface UserMapper {
User selectUserById(int id);
List<User> selectAllUsers();
void insertUser(User user);
void updateUser(User user);
void deleteUser(int id);
}
```
创建一个名为`UserMapper.xml`的Mapper映射文件,配置SQL语句:
```xml
<mapper namespace="com.example.dao.UserMapper">
<select id="selectUserById" parameterType="int" resultType="com.example.entity.User">
select * from user where id=#{id}
</select>
<select id="selectAllUsers" resultType="com.example.entity.User">
select * from user
</select>
<insert id="insertUser" parameterType="com.example.entity.User">
insert into user(name, age) values(#{name}, #{age})
</insert>
<update id="updateUser" parameterType="com.example.entity.User">
update user set name=#{name}, age=#{age} where id=#{id}
</update>
<delete id="deleteUser" parameterType="int">
delete from user where id=#{id}
</delete>
</mapper>
```
创建一个名为`UserService`的Service接口,定义以下方法:
```java
public interface UserService {
User getUserById(int id);
List<User> getAllUsers();
void addUser(User user);
void updateUser(User user);
void deleteUser(int id);
}
```
创建一个名为`UserServiceImpl`的Service实现类,实现UserService接口:
```java
@Service
@Transactional
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public User getUserById(int id) {
return userMapper.selectUserById(id);
}
@Override
public List<User> getAllUsers() {
return userMapper.selectAllUsers();
}
@Override
public void addUser(User user) {
userMapper.insertUser(user);
}
@Override
public void updateUser(User user) {
userMapper.updateUser(user);
}
@Override
public void deleteUser(int id) {
userMapper.deleteUser(id);
}
}
```
创建一个名为`UserController`的Controller类,处理用户请求:
```java
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/list")
public String list(Model model) {
List<User> userList = userService.getAllUsers();
model.addAttribute("userList", userList);
return "user/list";
}
@RequestMapping("/toAdd")
public String toAdd() {
return "user/add";
}
@RequestMapping("/add")
public String add(User user) {
userService.addUser(user);
return "redirect:/user/list";
}
@RequestMapping("/toEdit")
public String toEdit(int id, Model model) {
User user = userService.getUserById(id);
model.addAttribute("user", user);
return "user/edit";
}
@RequestMapping("/edit")
public String edit(User user) {
userService.updateUser(user);
return "redirect:/user/list";
}
@RequestMapping("/delete")
public String delete(int id) {
userService.deleteUser(id);
return "redirect:/user/list";
}
}
```
7. 编写视图
在src/main/webapp/WEB-INF/jsp目录下创建以下视图文件:
- list.jsp:显示用户列表
- add.jsp:添加用户
- edit.jsp:编辑用户
list.jsp:
```jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>用户列表</title>
</head>
<body>
<h1>用户列表</h1>
<a href="${pageContext.request.contextPath}/user/toAdd">添加用户</a>
<br>
<br>
<table border="1">
<tr>
<th>ID</th>
<th>姓名</th>
<th>年龄</th>
<th>操作</th>
</tr>
<c:forEach items="${userList}" var="user">
<tr>
<td>${user.id}</td>
<td>${user.name}</td>
<td>${user.age}</td>
<td>
<a href="${pageContext.request.contextPath}/user/toEdit?id=${user.id}">编辑</a>
<a href="${pageContext.request.contextPath}/user/delete?id=${user.id}">删除</a>
</td>
</tr>
</c:forEach>
</table>
</body>
</html>
```
add.jsp:
```jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>添加用户</title>
</head>
<body>
<h1>添加用户</h1>
<form action="${pageContext.request.contextPath}/user/add" method="post">
<table>
<tr>
<td>姓名:</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>年龄:</td>
<td><input type="text" name="age"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="添加"></td>
</tr>
</table>
</form>
</body>
</html>
```
edit.jsp:
```jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>编辑用户</title>
</head>
<body>
<h1>编辑用户</h1>
<form action="${pageContext.request.contextPath}/user/edit" method="post">
<input type="hidden" name="id" value="${user.id}">
<table>
<tr>
<td>姓名:</td>
<td><input type="text" name="name" value="${user.name}"></td>
</tr>
<tr>
<td>年龄:</td>
<td><input type="text" name="age" value="${user.age}"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="保存"></td>
</tr>
</table>
</form>
</body>
</html>
```
8. 运行项目
在IDEA或Eclipse中运行项目,访问http://localhost:8080/user/list即可查看用户列表。
一个简单的SSM框架项目是什么
SSM框架是指Spring+SpringMVC+MyBatis框架的整合。一个简单的SSM框架项目一般包含以下几个部分:
1. 数据库配置文件:包括数据库连接信息、数据库驱动、数据库用户名和密码等。
2. MyBatis配置文件:包括Mapper映射文件的位置、数据库连接池的配置、MyBatis插件等。
3. Spring配置文件:包括数据源的配置、事务管理器的配置、Dao层和Service层的扫描等。
4. SpringMVC配置文件:包括视图解析器的配置、静态资源的处理、拦截器的配置等。
5. 实体类:与数据库中的表对应,用于存储数据库表中的数据。
6. Dao层:用于与数据库进行交互,包括增删改查等操作。
7. Service层:业务逻辑的处理,调用Dao层进行数据操作,可以在此处进行事务管理。
8. Controller层:处理请求,调用Service层进行业务处理,返回结果给前端。
9. 视图层:使用JSP、HTML等技术生成前端页面。
以上是一个简单的SSM框架项目的主要组成部分,当然还有其他一些辅助性的组件和配置,如日志管理、异常处理等。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)