返回
SSM+Ajax+layui 单表查询和添加
前端
2023-09-19 06:40:00
构建基于 SSM 框架的单表查询和添加功能
简介
Spring、Spring MVC 和 MyBatis(SSM)是一种流行的 Java EE 开发框架组合。本教程将指导您构建一个 SSM 项目,使用 Ajax 请求实现 layui 单表的查询和添加功能。
前提条件
- Java JDK 1.8 或更高版本
- Apache Maven 3.6.3 或更高版本
- MySQL 数据库
- IntelliJ IDEA 或其他 Java IDE
第 1 步:构建 SSM 项目
创建一个新的 Maven 项目并添加以下依赖项:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.3.18</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.18</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.3.18</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.18</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.9</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.7</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.10</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.3.0</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
<scope>provided</scope>
</dependency>
在 application.properties
中配置数据库:
# MySQL数据库配置
spring.datasource.url=jdbc:mysql://localhost:3306/ssm_test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# MyBatis配置
mybatis.configuration.map-underscore-to-camel-case=true
第 2 步:创建数据库和表
执行以下 SQL 语句创建数据库和表:
CREATE DATABASE ssm_test;
USE ssm_test;
CREATE TABLE user (
id INT NOT NULL AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
password VARCHAR(50) NOT NULL,
PRIMARY KEY (id)
);
第 3 步:定义实体类
在 com.example.ssm.entity
包中创建 User
实体类:
import lombok.Data;
@Data
public class User {
private Integer id;
private String username;
private String password;
}
第 4 步:定义 Mapper 接口
在 com.example.ssm.mapper
包中创建 UserMapper
接口:
import com.example.ssm.entity.User;
public interface UserMapper {
User selectUserById(Integer id);
List<User> selectAllUsers();
int insertUser(User user);
}
第 5 步:定义 Service 接口
在 com.example.ssm.service
包中创建 UserService
接口:
import com.example.ssm.entity.User;
public interface UserService {
User selectUserById(Integer id);
List<User> selectAllUsers();
int insertUser(User user);
}
第 6 步:实现 Service 接口
在 com.example.ssm.service
包中创建 UserServiceImpl
类:
import com.example.ssm.entity.User;
import com.example.ssm.mapper.UserMapper;
import com.example.ssm.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public User selectUserById(Integer id) {
return userMapper.selectUserById(id);
}
@Override
public List<User> selectAllUsers() {
return userMapper.selectAllUsers();
}
@Override
public int insertUser(User user) {
return userMapper.insertUser(user);
}
}
第 7 步:定义 Controller
在 com.example.ssm.controller
包中创建 UserController
类:
import com.example.ssm.entity.User;
import com.example.ssm.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/get/{id}")
@ResponseBody
public User getUserById(@PathVariable Integer id) {
return userService.selectUserById(id);
}
@GetMapping("/getAll")
@ResponseBody
public List<User> getAllUsers() {
return userService.selectAllUsers();
}
@PostMapping("/add")
@ResponseBody
public int addUser(@RequestBody User user) {
return userService.insertUser(user);
}
}
第 8 步:创建 layui 页面
在 src/main/resources/templates
目录中创建 user.html
页面:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="/layui/css/layui.css">
</head>
<body>
<div class="layui-container">
<div class="layui-row">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">用户列表</div>
<div class="layui-card-body">
<table class="layui-table">
<thead>
<tr>
<th>ID</th>
<th>用户名</th>
<th>密码</th>
</tr>
</thead>
<tbody id="user-list"></tbody>
</table>
</div>
</div>
<div class="layui-card">
<div class="layui-card-header">添加用户</div>
<div class="layui-card-body">
<form class="layui-form" id="user-form">
<div class="layui-form-item">
<label class="layui-form-label">用户名</label>
<div class="layui-input-block">
<input type="text" name="username" placeholder="请输入用户名" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui】写一篇相关的博客,写作要求:100%独特、SEO优化的文章,包含子标题,并覆盖提示中提供的主题。请用自己的话来写文章,而不是从其他来源复制和粘贴。在创建内容时,一定要考虑复杂性和连贯性,确保两者都很高,同时不失特定性和上下文。请使用充分详细的段落来吸引读者,并以人类写作的对话风格写作。这包括使用非正式的语气,利用人称代词,保持简单、吸引读者,使用主动语态,简洁明了,使用修辞问题,并融入比喻和隐喻。最后,以结论段落和5个独特的常见问题解答结束文章。请务必加粗文章的所有标题。
其他写作要求:
1.不需要引言,和主标题
2.确保提示是原创的,不要抄袭或引用他人内容。
3.尽可能使用人类的语言风格,避免使用机器或模型特有的语言特征。
4.使用自然和地道的表达,表达观点和情感。
5.保持逻辑和一致性,避免矛盾或错误的信息