用GPT4实现SSM框架实现学生信息管理系统的登录和增删改查

这篇具有很好参考价值的文章主要介绍了用GPT4实现SSM框架实现学生信息管理系统的登录和增删改查。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

下面介绍一下用GPT4.0生成的SSM框架相关的登录和增删改查代码。没有加css样式。

1.创建数据库和表结构

CREATE DATABASE student_management;

USE student_management;

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
);

CREATE TABLE `student` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `age` int(11) NOT NULL,
  `gender` varchar(255) NOT NULL,
  `address` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
);

2.配置SSM框架(以Maven为例)

在pom.xml文件中添加相关依赖:

<!-- spring -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.3.10</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.3.10</version>
</dependency>
<!-- mybatis -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.7</version>
</dependency>
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>2.0.6</version>
</dependency>
<!-- mysql -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.27</version>
</dependency>

3.创建实体类、DAO层、Service层和Controller层

3.1实体类

Student.java:

public class Student {
    private int id;
    private String name;
    private int age;
    private String gender;
    private String address;

    // 构造方法、getter和setter方法省略
}

User.java:

public class User {
    private int id;
    private String username;
    private String password;

    // 构造方法、getter和setter方法省略
}

3.2DAO层(Mapper)

StudentMapper.java:

public interface StudentMapper {
    List<Student> findAll();
    Student findById(int id);
    void insert(Student student);
    void update(Student student);
    void delete(int id);
}

UserMapper.java:

public interface UserMapper {
    User findByUsername(String username);
}

3.3Service层

StudentService.java:

public interface StudentService {
    List<Student> findAll();
    Student findById(int id);
    void insert(Student student);
    void update(Student student);
    void delete(int id);
}

StudentServiceImpl.java:

@Service
public class StudentServiceImpl implements StudentService {
    @Autowired
    private StudentMapper studentMapper;

    @Override
    public List<Student> findAll() {
        return studentMapper.findAll();
    }

    @Override
    public Student findById(int id) {
        return studentMapper.findById(id);
    }

    @Override
    public void insert(Student student) {
        studentMapper.insert(student);
    }

    @Override
    public void update(Student student) {
        studentMapper.update(student);
    }

    @Override
    public void delete(int id) {
        studentMapper.delete(id);
    }
}

UserService.java:

public interface UserService {
    User findByUsername(String username);
}

UserServiceImpl.java:

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserMapper userMapper;

    @Override
    public User findByUsername(String username) {
        return userMapper.findByUsername(username);
    }
}

3.4Controller层

StudentController.java

@Controller
@RequestMapping("/students")
public class StudentController {
    @Autowired
    private StudentService studentService;

    @GetMapping
    public String list(Model model) {
        List<Student> students = studentService.findAll();
        model.addAttribute("students", students);
        return "student_list";
    }

    @PostMapping
    public String add(Student student) {
        studentService.insert(student);
        return "redirect:/students";
    }

    @PutMapping("/{id}")
    public String update(@PathVariable int id, Student student) {
        student.setId(id);
        studentService.update(student);
        return "redirect:/students";
    }

    @DeleteMapping("/{id}")
    public String delete(@PathVariable int id) {
        studentService.delete(id);
        return "redirect:/students";
    }
}

UserController.java

@Controller
@RequestMapping("/user")
public class UserController {
    @Autowired
    private UserService userService;

    @PostMapping("/login")
    public String login(String username, String password, HttpSession session) {
        User user = userService.findByUsername(username);
        if (user != null && user.getPassword().equals(password)) {
            session.setAttribute("user", user);
            return "redirect:/students";
        } else {
            return "login_fail";
        }
    }
}

4.配置Spring和MyBatis

4.1Spring

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:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <context:component-scan base-package="com.example.demo"/>
    <mvc:annotation-driven/>

    <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/student_management?useSSL=false&amp;serverTimezone=UTC"/>
        <property name="username" value="root"/>
        <property name="password" value="root"/>
    </bean>

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="configLocation" value="classpath:mybatis-config.xml"/>
    </bean>

    <bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.example.demo.mapper"/>
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
    </bean>

    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/"/>
        <property name="suffix" value=".html"/>
    </bean>

</beans>

mybatis-config.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>
    
    <typeAliases>
        <typeAlias type="com.example.demo.entity.Student" alias="Student"/>
        <typeAlias type="com.example.demo.entity.User" alias="User"/>
    </typeAliases>

    <mappers>
        <mapper resource="com/example/demo/mapper/StudentMapper.xml"/>
        <mapper resource="com/example/demo/mapper/UserMapper.xml"/>
    </mappers>
</configuration>

4.2mapper

StudentMapper.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.demo.mapper.StudentMapper">
    <resultMap id="StudentResult" type="Student">
        <id column="id" property="id"/>
        <result column="name" property="name"/>
        <result column="age" property="age"/>
        <result column="gender" property="gender"/>
        <result column="address" property="address"/>
    </resultMap>

    <select id="findAll" resultMap="StudentResult">
        SELECT * FROM student
    </select>
    
    <!-- 省略其他的select、insert、update和delete语句 -->
</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.demo.mapper.UserMapper">
    <resultMap id="UserResult" type="User">
        <id column="id" property="id"/>
        <result column="username" property="username"/>
        <result column="password" property="password"/>
    </resultMap>

    <select id="findByUsername" resultMap="UserResult" parameterType="String">
        SELECT * FROM user WHERE username = #{username}
    </select>
</mapper>

5.创建前端界面

login.html:

<!DOCTYPE html>
<html>
<head>
    <title>Login</title>
</head>
<body>
    <form action="/user/login" method="post">
        <label for="username">Username:</label>
        <input type="text" id="username" name="username">
        <br>

        <label for="password">Password:</label>
        <input type="password" id="password" name="password">
        <br>

        <input type="submit" value="Login">
    </form>
</body>
</html>

student_list.html:

<!DOCTYPE html>
<html>
<head>
    <title>Student List</title>
</head>
<body>
    <table>
        <thead>
            <tr>
                <th>ID</th>
                <th>Name</th>
                <th>Age</th>
                <th>Gender</th>
                <th>Address</th>
            </tr>
        </thead>
        <tbody>
            <!-- 使用循环遍历students列表,显示学生信息 -->
            <#list students as student>
                <tr>
                    <td>${student.id}</td>
                                        <td>${student.name}</td>
                    <td>${student.age}</td>
                    <td>${student.gender}</td>
                    <td>${student.address}</td>
                    <td>
                        <a href="/students/edit/${student.id}">Edit</a>
                        <a href="/students/delete/${student.id}">Delete</a>
                    </td>
                </tr>
            </#list>
        </tbody>
    </table>
    <a href="/students/add">Add Student</a>
</body>
</html>

                   

add_student.html:

<!DOCTYPE html>
<html>
<head>
    <title>Add Student</title>
</head>
<body>
    <form action="/students" method="post">
        <label for="name">Name:</label>
        <input type="text" id="name" name="name">
        <br>

        <label for="age">Age:</label>
        <input type="number" id="age" name="age">
        <br>

        <label for="gender">Gender:</label>
        <select id="gender" name="gender">
            <option value="Male">Male</option>
            <option value="Female">Female</option>
        </select>
        <br>

        <label for="address">Address:</label>
        <input type="text" id="address" name="address">
        <br>

        <input type="submit" value="Add Student">
    </form>
</body>
</html>

edit_student.html:

<!DOCTYPE html>
<html>
<head>
    <title>Edit Student</title>
</head>
<body>
    <form action="/students/${student.id}" method="post">
        <input type="hidden" name="_method" value="PUT"> <!-- 用于模拟PUT请求 -->

        <label for="name">Name:</label>
        <input type="text" id="name" name="name" value="${student.name}">
        <br>

        <label for="age">Age:</label>
        <input type="number" id="age" name="age" value="${student.age}">
        <br>

        <label for="gender">Gender:</label>
        <select id="gender" name="gender">
            <option value="Male" <#if student.gender=='Male'>selected</#if>>Male</option>
            <option value="Female" <#if student.gender=='Female'>selected</#if>>Female</option>
        </select>
        <br>

        <label for="address">Address:</label>
        <input type="text" id="address" name="address" value="${student.address}">
        <br>

        <input type="submit" value="Update Student">
    </form>
</body>
</html>

这些配置和示例代码提供了一个关于如何在SSM项目中配置组件和实现基本功能的概念。在实际开发过程中,请务必根据需求和约束调整配置和代码。文章来源地址https://www.toymoban.com/news/detail-486227.html

到了这里,关于用GPT4实现SSM框架实现学生信息管理系统的登录和增删改查的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SSM实现学生管理系统(spring+springMVC+MyBatis)

    该项目是基于SSM框架实现的学生管理系统,能够对学生信息进行增删改查,分页查询,以及实现管理员的注册、登录 数据库:MySQL 开发工具:idea 开发环境:jdk 1.8 + tomcat 在studentManger数据库中,创建登录注册表login和学生信息表student 请参考JavaWeb实现学生管理系统 1.配置mave

    2024年02月08日
    浏览(56)
  • ssm基于Java Web的学生宿舍管理系统设计与实现论文

    现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本学生宿舍管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人

    2024年02月20日
    浏览(53)
  • qt实现信息管理系统(学生信息管理系统)功能更完善

    信息系统代码地址:https://gitee.com/dxl96/StdMsgSystem 本学生信息管理系统同升级改造的幅度较大,涉及到的东西对于初学者来说,可能稍显复杂,可以先移步到 https://blog.csdn.net/IT_CREATE/article/details/82027462 查看简易的系统。 本系统引入日志管理,数据库选择支持sqllite、mysql,自

    2024年02月13日
    浏览(44)
  • ssm726基于web的学生就业管理系统的设计与实现+vue

    文章仅展示部分内容,详细的毕设论文和演示视频源代码可以私信我的扣扣,        毕 业 设 计(论 文)    题目: 学生就业管理系统的 设计与实现 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技

    2024年02月20日
    浏览(41)
  • 学生信息管理系统(Python实现)

    目录 1.功能介绍 2.代码模块 3.全局代码 摘剑!!! 采用列表+类的组合来实现对信息的增删改查,整体代码比较简单,只用了100余行 1)添加学生信息 2)查询学生信息 3)删除学生信息 4)修改学生信息 5)遍历学生信息 1)学生类 2)菜单menu 3)添加insert  4)查询search 5)删

    2024年02月13日
    浏览(58)
  • 基于SSM的驾校信息管理系统设计与实现

    末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue、HTML 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录 一、项目简介 二、系统功能 三、系统项目截图 管理员功能实现 学员管理 车辆信息管理 车辆类

    2024年01月16日
    浏览(55)
  • 【超详细】Java实现学生信息管理系统

     项目介绍:用java实现学生信息的管理,其中录入的数据包括:学号、姓名、年龄、居住地等,并且能够实现对学生信息的添加、修改、删除、查看功能。 一、创建项目 1、项目名称:myStudentManager 二、创建包 1、包名称:study 2、名字也可以自己进行命名 三、创建两个类 1、

    2024年02月04日
    浏览(43)
  • Android Studio实现学生信息管理系统

    该学生信息管理系统具有添加学生信息的功能、删除学生信息的功能、修改学生信息功能和查询学生信息的功能。利用Sqlite数据库实现对学生信息的增删改查,登录密码也采用了MD5加密的方式,更加注重用户隐私安全。除了有欢迎界面,还有注册和登录界面,满足应用的基础

    2024年02月02日
    浏览(39)
  • 基于C++实现的学生信息管理系统

    点击获取(源码+课程设计报告文档+截图) 学生信息管理系统是针对学校人事处的大量业务处理工作而开发的管理软件,主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、科学化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如

    2024年02月04日
    浏览(41)
  • python基于Tkinter实现学生信息管理系统

    1.添加学生成绩:管理员可以在系统中添加学生的成绩信息,包括学生姓名、学号、课程名称、成绩等。 2.删除学生成绩:管理员可以根据学生的学号或者姓名删除学生的成绩信息。 3.修改学生成绩:管理员可以修改学生的成绩信息,包括学生姓名、学号、课程名称、成绩等

    2024年02月08日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包