jsp 语言 JSP 与 MyBatis Plus 高级 CRUD 操作的页面交互

JSP阿木 发布于 22 天前 3 次阅读


JSP 与 MyBatis-Plus 高级 CRUD 操作的页面交互实现

随着互联网技术的不断发展,Java Server Pages(JSP)作为Java Web开发的一种重要技术,仍然在许多企业级应用中扮演着重要角色。MyBatis-Plus 是一个 MyBatis 的增强工具,在简化开发的提供了强大的CRUD操作能力。本文将围绕JSP与MyBatis-Plus的高级CRUD操作,探讨如何实现页面交互,并给出相应的代码示例。

JSP 简介

JSP(Java Server Pages)是一种动态网页技术,它允许开发者在HTML页面中嵌入Java代码。JSP页面由HTML标签和Java代码组成,服务器在请求时将JSP页面编译成Servlet,然后执行Java代码,最后将结果输出为HTML页面。

MyBatis-Plus 简介

MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatis-Plus 提供了丰富的CRUD操作,如插入、查询、更新、删除等。

JSP 与 MyBatis-Plus 集成

要实现JSP与MyBatis-Plus的集成,首先需要在项目中引入MyBatis-Plus依赖。以下是一个简单的Maven依赖配置示例:

xml

<dependencies>


<!-- MyBatis-Plus 核心依赖 -->


<dependency>


<groupId>com.baomidou</groupId>


<artifactId>mybatis-plus-boot-starter</artifactId>


<version>3.4.3.4</version>


</dependency>


<!-- MySQL 驱动 -->


<dependency>


<groupId>mysql</groupId>


<artifactId>mysql-connector-java</artifactId>


<version>8.0.26</version>


</dependency>


<!-- JSP 标准库 -->


<dependency>


<groupId>javax.servlet.jsp</groupId>


<artifactId>javax.servlet.jsp-api</artifactId>


<version>2.3.3</version>


<scope>provided</scope>


</dependency>


</dependencies>


CRUD 操作实现

以下是一个简单的示例,展示如何使用JSP和MyBatis-Plus实现CRUD操作。

1. 创建实体类

定义一个实体类,例如 `User`:

java

package com.example.entity;

import com.baomidou.mybatisplus.annotation.IdType;


import com.baomidou.mybatisplus.annotation.TableId;


import com.baomidou.mybatisplus.annotation.TableName;

@TableName("user")


public class User {


@TableId(type = IdType.AUTO)


private Long id;


private String name;


private Integer age;

// 省略getter和setter方法


}


2. 创建Mapper接口

接着,创建一个Mapper接口,继承 `BaseMapper`:

java

package com.example.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;


import com.example.entity.User;

public interface UserMapper extends BaseMapper<User> {


}


3. 创建Service接口和实现类

然后,创建一个Service接口和实现类,用于封装业务逻辑:

java

package com.example.service;

import com.example.entity.User;


import java.util.List;

public interface UserService {


List<User> listUsers();


User getUserById(Long id);


int addUser(User user);


int updateUser(User user);


int deleteUser(Long id);


}


java

package com.example.service.impl;

import com.example.entity.User;


import com.example.mapper.UserMapper;


import com.example.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 List<User> listUsers() {


return userMapper.selectList(null);


}

@Override


public User getUserById(Long id) {


return userMapper.selectById(id);


}

@Override


public int addUser(User user) {


return userMapper.insert(user);


}

@Override


public int updateUser(User user) {


return userMapper.updateById(user);


}

@Override


public int deleteUser(Long id) {


return userMapper.deleteById(id);


}


}


4. 创建Controller

接下来,创建一个Controller类,用于处理HTTP请求:

java

package com.example.controller;

import com.example.entity.User;


import com.example.service.UserService;


import org.springframework.beans.factory.annotation.Autowired;


import org.springframework.stereotype.Controller;


import org.springframework.ui.Model;


import org.springframework.web.bind.annotation.GetMapping;


import org.springframework.web.bind.annotation.PostMapping;


import org.springframework.web.bind.annotation.RequestParam;

@Controller


public class UserController {


@Autowired


private UserService userService;

@GetMapping("/users")


public String listUsers(Model model) {


List<User> users = userService.listUsers();


model.addAttribute("users", users);


return "users";


}

@PostMapping("/addUser")


public String addUser(User user) {


userService.addUser(user);


return "redirect:/users";


}

@PostMapping("/updateUser")


public String updateUser(User user) {


userService.updateUser(user);


return "redirect:/users";


}

@PostMapping("/deleteUser")


public String deleteUser(@RequestParam Long id) {


userService.deleteUser(id);


return "redirect:/users";


}


}


5. 创建JSP页面

创建JSP页面,用于展示和操作用户信息:

jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


<html>


<head>


<title>用户列表</title>


</head>


<body>


<h1>用户列表</h1>


<table border="1">


<tr>


<th>编号</th>


<th>姓名</th>


<th>年龄</th>


<th>操作</th>


</tr>


<%


List<User> users = (List<User>) request.getAttribute("users");


for (User user : users) {


%>


<tr>


<td><%= user.getId() %></td>


<td><%= user.getName() %></td>


<td><%= user.getAge() %></td>


<td>


<a href="updateUser?id=<%= user.getId() %>">编辑</a>


<a href="deleteUser?id=<%= user.getId() %>">删除</a>


</td>


</tr>


<%


}


%>


</table>


<h2>添加用户</h2>


<form action="addUser" method="post">


姓名:<input type="text" name="name"><br>


年龄:<input type="number" name="age"><br>


<input type="submit" value="添加">


</form>


</body>


</html>


总结

本文介绍了如何使用JSP和MyBatis-Plus实现高级CRUD操作,并通过页面交互展示了用户列表的增删改查功能。在实际项目中,可以根据需求进行扩展和优化,例如添加分页、搜索、排序等功能。希望本文能对您的开发工作有所帮助。