2025.3.4 使用ai有效写代码

news/2025/3/4 11:34:27/文章来源:https://www.cnblogs.com/LiuHuWei/p/18750165

需求描述:
写一个用户的增删改查的javaweb系统
描述:
在pom.xml下mybatis3.5.5,tomcat7-maven-plugin2.2,javax.servlet-api3.1.0,mysql-connector-java5.1.46;
在src/main/java下创建com.lianxi.pojo包里面是用户实体类Users,包括name(字符串),password(字符串),id(整形)以及set,get函数和toString;创建com.lianxi.mapper包,里面是接口UsersMapper,UsersMapper里写增删改查的sql语句;
创建com.lianxi.servlet包,里面分别创建增删改查的后台代码addServlet,deleteServlet,updateServlet,selectServlet;
在resources下创建com.lianxi.mapper包,里面创建UsersMapper.xml文件;
在resources目录下创建mybatis-config.xml,里面是链接数据库的代码和配置扫描UsersMapper.xml;
最后在webapp下写增删改查的前端代码add.html,delete.html,update.html,select.html;

ai代码:

为了创建一个完整的用户增删改查(CRUD)系统,您可以按照以下步骤来组织和编写代码。我们将使用Java Web与MyBatis来实现这个功能。以下是每个部分的详细代码结构和解释。1. pom.xml
首先是pom.xml,它配置了所需的依赖项。根据需求,您会需要MyBatis、Servlet、Tomcat插件等。xml
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.lianxi</groupId><artifactId>user-crud</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><dependencies><!-- MyBatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.5</version></dependency><!-- MySQL Connector --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.46</version></dependency><!-- Servlet API --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><!-- Tomcat Maven Plugin --><dependency><groupId>org.apache.tomcat</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version><scope>provided</scope></dependency><!-- MyBatis-Spring --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.3.2</version></dependency></dependencies><build><plugins><plugin><groupId>org.apache.tomcat</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version><executions><execution><goals><goal>run</goal></goals></execution></executions></plugin></plugins></build>
</project>
2. Users 实体类 (POJO)
在 src/main/java/com/lianxi/pojo 下创建一个名为 Users 的类。java
package com.lianxi.pojo;public class Users {private int id;private String name;private String password;// Getters and Setterspublic int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String toString() {return "Users{id=" + id + ", name='" + name + "', password='" + password + "'}";}
}
3. UsersMapper 接口
在 src/main/java/com/lianxi/mapper 下创建 UsersMapper 接口,定义CRUD操作。java
package com.lianxi.mapper;import com.lianxi.pojo.Users;
import java.util.List;public interface UsersMapper {// 添加用户void addUser(Users user);// 删除用户void deleteUser(int id);// 更新用户void updateUser(Users user);// 查询用户Users getUserById(int id);// 获取所有用户List<Users> getAllUsers();
}
4. UsersMapper.xml 配置文件
在 resources/com/lianxi/mapper 目录下创建 UsersMapper.xml,定义实际的SQL语句。xml
<?xml version="1.0" encoding="UTF-8"?>
<mapper namespace="com.lianxi.mapper.UsersMapper"><insert id="addUser" parameterType="com.lianxi.pojo.Users">INSERT INTO users (name, password) VALUES (#{name}, #{password});</insert><delete id="deleteUser" parameterType="int">DELETE FROM users WHERE id = #{id};</delete><update id="updateUser" parameterType="com.lianxi.pojo.Users">UPDATE users SET name = #{name}, password = #{password} WHERE id = #{id};</update><select id="getUserById" parameterType="int" resultType="com.lianxi.pojo.Users">SELECT * FROM users WHERE id = #{id};</select><select id="getAllUsers" resultType="com.lianxi.pojo.Users">SELECT * FROM users;</select></mapper>
5. mybatis-config.xml
在 resources 目录下创建 mybatis-config.xml,配置MyBatis。xml
<?xml version="1.0" encoding="UTF-8" ?>
<configuration><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="com.mysql.cj.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/your_database_name"/><property name="username" value="your_db_username"/><property name="password" value="your_db_password"/></dataSource></environment><mappers><mapper resource="com/lianxi/mapper/UsersMapper.xml"/></mappers></configuration>
6. Servlet 配置
在 src/main/java/com/lianxi/servlet 下创建Servlet,用于处理前端请求。addServlet.java
java
package com.lianxi.servlet;import com.lianxi.pojo.Users;
import com.lianxi.mapper.UsersMapper;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet("/addUser")
public class AddServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String name = request.getParameter("name");String password = request.getParameter("password");Users user = new Users();user.setName(name);user.setPassword(password);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(getServletContext().getResourceAsStream("/WEB-INF/mybatis-config.xml"));try (SqlSession session = sqlSessionFactory.openSession()) {UsersMapper mapper = session.getMapper(UsersMapper.class);mapper.addUser(user);session.commit();}response.sendRedirect("select.html");}
}
deleteServlet.java
java
package com.lianxi.servlet;import com.lianxi.mapper.UsersMapper;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet("/deleteUser")
public class DeleteServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {int id = Integer.parseInt(request.getParameter("id"));SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(getServletContext().getResourceAsStream("/WEB-INF/mybatis-config.xml"));try (SqlSession session = sqlSessionFactory.openSession()) {UsersMapper mapper = session.getMapper(UsersMapper.class);mapper.deleteUser(id);session.commit();}response.sendRedirect("select.html");}
}
updateServlet.java
java
package com.lianxi.servlet;import com.lianxi.pojo.Users;
import com.lianxi.mapper.UsersMapper;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet("/updateUser")
public class UpdateServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {int id = Integer.parseInt(request.getParameter("id"));String name = request.getParameter("name");String password = request.getParameter("password");Users user = new Users();user.setId(id);user.setName(name);user.setPassword(password);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(getServletContext().getResourceAsStream("/WEB-INF/mybatis-config.xml"));try (SqlSession session = sqlSessionFactory.openSession()) {UsersMapper mapper = session.getMapper(UsersMapper.class);mapper.updateUser(user);session.commit();}response.sendRedirect("select.html");}
}
selectServlet.java
java
package com.lianxi.servlet;import com.lianxi.mapper.UsersMapper;
import com.lianxi.pojo.Users;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;@WebServlet("/selectUser")
public class SelectServlet extends HttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(getServletContext().getResourceAsStream("/WEB-INF/mybatis-config.xml"));try (SqlSession session = sqlSessionFactory.openSession()) {UsersMapper mapper = session.getMapper(UsersMapper.class);List<Users> usersList = mapper.getAllUsers();request.setAttribute("usersList", usersList);request.getRequestDispatcher("select.jsp").forward(request, response);}}
}
7. 前端页面
在 webapp 目录下,创建前端HTML页面,使用表单与Servlet进行交互。add.html
html
<!DOCTYPE html>
<html>
<head><title>Add User</title>
</head>
<body><h2>Add User</h2><form action="addUser" method="post">Name: <input type="text" name="name" required><br>Password: <input type="password" name="password" required><br><input type="submit" value="Add User"></form>
</body>
</html>
delete.html
html
<!DOCTYPE html>
<html>
<head><title>Delete User</title>
</head>
<body><h2>Delete User</h2><form action="deleteUser" method="post">User ID: <input type="text" name="id" required><br><input type="submit" value="Delete User"></form>
</body>
</html>
update.html
html
<!DOCTYPE html>
<html>
<head><title>Update User</title>
</head>
<body><h2>Update User</h2><form action="updateUser" method="post">User ID: <input type="text" name="id" required><br>Name: <input type="text" name="name" required><br>Password: <input type="password" name="password" required><br><input type="submit" value="Update User"></form>
</body>
</html>
select.html
html
<!DOCTYPE html>
<html>
<head><title>Users List</title>
</head>
<body><h2>All Users</h2><table border="1"><tr><th>ID</th><th>Name</th><th>Password</th></tr><!-- Use JSP to iterate through users --><%@ page import="java.util.List" %><%@ page import="com.lianxi.pojo.Users" %><%List<Users> usersList = (List<Users>) request.getAttribute("usersList");for (Users user : usersList) {%><tr><td><%= user.getId() %></td><td><%= user.getName() %></td><td><%= user.getPassword() %></td></tr><%}%></table>
</body>
</html>
8. 配置 web.xml
为了让Servlet工作,确保在web.xml中配置相关映射。<web-app xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"version="3.0"><servlet><servlet-name>addServlet</servlet-name><servlet-class>com.lianxi.servlet.AddServlet</servlet-class></servlet><servlet-mapping><servlet-name>addServlet</servlet-name><url-pattern>/addUser</url-pattern></servlet-mapping><servlet><servlet-name>deleteServlet</servlet-name><servlet-class>com.lianxi.servlet.DeleteServlet</servlet-class></servlet><servlet-mapping><servlet-name>deleteServlet</servlet-name><url-pattern>/deleteUser</url-pattern></servlet-mapping><servlet><servlet-name>updateServlet</servlet-name><servlet-class>com.lianxi.servlet.UpdateServlet</servlet-class></servlet><servlet-mapping><servlet-name>updateServlet</servlet-name><url-pattern>/updateUser</url-pattern></servlet-mapping><servlet><servlet-name>selectServlet</servlet-name><servlet-class>com.lianxi.servlet.SelectServlet</servlet-class></servlet><servlet-mapping><servlet-name>selectServlet</servlet-name><url-pattern>/selectUser</url-pattern></servlet-mapping>
</web-app>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/893342.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Hyper-V虚拟化平台上,怎么创建和管理虚拟机呢?

确实,在Hyper-V虚拟化平台上,创建和管理虚拟机(VMs)是实现资源高效利用和业务灵活部署的关键。以下是对这一观点的详细阐述:一、创建虚拟机:资源高效利用的基础 资源分配与优化: 在创建虚拟机时,管理员需要根据业务需求合理分配CPU、内存、存储和网络等资源。通过精确的…

STM32实战——ESP8266 WIFI模块

此篇博文提供了ESP8266的开发指南,包括在STM32上使用ESP8266进行WiFi连接、发送和接收HTTP请求以及在ESP8266中使用AT指令发送GET方式请求等内容。ESP8266 硬件介绍 ESP8266系列模组有哪些:在本实验中,ESP8266与ESP-01不做区分。 ESP-01引脚介绍:引脚 功能3.3 3.3V供电,避…

一招学会Prometheus对接三方监控平台

文章来源:乐维社区 通过将Prometheus与不同的监控工具和服务集成,企业可以实现对更广泛资源和服务的监控,包括那些不由Prometheus原生支持的系统。这种集成不仅有助于获取更全面、深入的监控数据,还能提升故障排查和性能优化的效率,从而确保系统的稳定性和可靠性。 环境说…

Motoman机器人XRC控制柜维修

在现代工业生产中,YASKAWA机器人扮演着至关重要的角色。然而,如同所有的机械设备一样,YASKAWA机器人也会出现故障,尤其是其控制柜部分。因此,安川机器人维修工作对于保障机器人的正常运行意义非凡,这其中安川机器人控制柜维修更是关键环节。一、常见故障及解决方法1. 电源…

【域攻击】无文件落地攻击:msiexec

msiexec.exe属于系统进程,是Windows Installer的一部分,用于安装Windows Installer安装包(MSI),对系统的正常运行非常重要,一般在运行Microsoft Update安装更新或安装部分软件的时候出现,占用内存比较大,我们亦可以使用其作为无文件落地的媒介,下面举例说明: Step 1:使…

c# hosting 和 AppDomain

前言 简单介绍一下hosting 和 appdomain。 这两个东西。 正文 我们经常听说寄宿,这个寄宿是什么东西呢? 也就是我们这里要介绍的hosting。 什么是寄宿呢? 想一个问题,一个c# 的exe 程序,为啥能够启动呢?我们记得dll中是il代码。 那么肯定要加载运行时对吧。 那么为什么叫…

Dapr 简介 - 分布式应用运行时

Dapr 简介-分布式应用运行时 简介 Whats Dapr? Dapr = Distributed Application Runtime (分布式应用运行时)看到这个词,不知道大家想到了什么?是不是类似于 java runtime,c runtime 这类词汇。网上找到了一个 应用程序、运行时库和 OS 之间的关系图,其中 Runtime 库处于…

Mac脚本发布PHP开发项目到线上

环境 服务器: CentOS Linux release 7.6.1810 (Core) 客户端: macOS Sonoma 14.1.2 (23B92) 测试环境:开发使用ftp自动上传到/www/wwwroot/dirDev文件夹自动备份并发布程序 备份/www/wwwroot/dirOnline文件夹,并将开发项目/www/wwwroot/dirDev自动同步到线上环境/www/wwwro…

Mac发布PHP开发项目到线上项目

环境 服务器: CentOS Linux release 7.6.1810 (Core) 客户端: macOS Sonoma 14.1.2 (23B92) 开发使用ftp自动上传到/www/wwwroot/dirDev文件夹自动备份并发布程序 备份/www/wwwroot/dirOnline文件夹,并将开发项目/www/wwwroot/dirDev自动同步到线上环境/www/wwwroot/dirOnli…

Windows使用技巧——查看本地ip地址

我在windows上双击一个文件,就可以直接查看我的ip地址,这是怎么做到的?步骤一:在文件夹右击,新建一个文本文档; 步骤二:双击此文档,输入以下字符:“ipconfigpause”,然后保存;步骤三:把文件重命名,把后缀更改为“bat”如下,再点“是”; 之后双击该文档,就可以…

触想对话2025智能控制与驱动发展论坛,共探中国智造新未来!

近日,由中国工控网联合SPS广州展共同举办的“2025智能控制与驱动发展论坛”在广州珠海顺利召开,触想受邀出席并发表专题演讲,围绕公司在工业物联网(IIoT)技术应用与电子制造数字化转型中的创新实践展开分享,与国内外技术专家、行业领袖及产业链代表,共同探讨中国制造的未来…