当前位置: 首页 > news >正文

MySQL数据库的操作(mybatis)

一、示例数据库结构(表格形式)

数据库名:school
表名:students
字段名数据类型约束条件说明
idINTPRIMARY KEY AUTO_INCREMENT学生的唯一标识,自动递增
nameVARCHAR(50)NOT NULL学生姓名
ageINT学生年龄
genderENUM('男','女')学生性别
classVARCHAR(20)学生所在班级

二、MyBatis 和 DAO 层代码 

1、model层代码
package com.example.entity;

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

    // 省略 getter 和 setter 方法
    public 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 int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public String getClass() {
        return class;
    }

    public void setClass(String class) {
        this.class = class;
    }
}    
2、Dao层代码 
package com.example.dao;

import com.example.entity.Student;

import java.util.List;

public interface StudentsDao {

    // 插入学生记录
    int insertStudent(Student student);

    // 删除指定条件的学生记录
    int deleteStudentById(int id);

    // 更新学生记录
    int updateStudent(Student student);

    // 查询所有学生记录
    List<Student> selectAllStudents();

    // 根据 ID 查询学生记录
    Student selectStudentById(int id);
}    
3、StudentsMapper.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.dao.StudentsDao">

    <!-- 插入学生记录 -->
    <insert id="insertStudent">
        INSERT INTO students (name, age, gender, class)
        VALUES (#{name}, #{age}, #{gender}, #{class})
    </insert>

    <!-- 删除指定条件的学生记录 -->
    <delete id="deleteStudentById">
        DELETE FROM students WHERE id = #{id}
    </delete>

    <!-- 更新学生记录 -->
    <update id="updateStudent">
        UPDATE students
        SET name = #{name}, age = #{age}, gender = #{gender}, class = #{class}
        WHERE id = #{id}
    </update>

    <!-- 查询所有学生记录 -->
    <select id="selectAllStudents" resultType="com.example.entity.Student">
        SELECT * FROM students
    </select>

    <!-- 根据 ID 查询学生记录 -->
    <select id="selectStudentById" resultType="com.example.entity.Student">
        SELECT * FROM students WHERE id = #{id}
    </select>
</mapper>    

http://www.dtcms.com/a/99148.html

相关文章:

  • Spring学习笔记06——bean、java bean、spring bean、POJO几个概念讲解
  • 算法刷题记录——LeetCode篇(1.2) [第11~20题](持续更新)
  • Labview学习记录
  • 杂草YOLO系列数据集4000张
  • 【MySQL基础-16】MySQL DELETE语句:深入理解与应用实践
  • Ray AI - 概述、安装、入门
  • 【HTML 基础教程】HTML <head>
  • Java多线程与高并发专题——Condition 和 wait/notify的关系
  • python:模块
  • app整改报告怎么写?app整改方案分享
  • 液压式精密矫平机——精准掌控,重塑金属平整新高度
  • 【黑马点评】Redis解决集群的session共享问题
  • wait函数等待多个子进程
  • vue3对比vue2新增特性
  • CSS 边框(Border)样式详解
  • 泛目录优化:无极泛目录优化网站,技术解析与风险控制指南
  • Flutter开发There are multiple heroes that share the same tag within a subtree报错
  • C++ explicit
  • 使用Java操作Redis
  • 在 Windows 中查看 Nginx 当前占用的端口
  • 基于高德地图实现地图交互功能的探索与总结
  • 函数式组件中的渲染函数 JSX
  • Python基础教程:从格式化到项目管理
  • QT操作PDF文件
  • 计算机视觉准备八股中
  • 多任务眼底血管与眼底血管中心线提取
  • Oracle数据库数据编程SQL<3.1 PL/SQL 匿名块 及 流程控制中的条件判断、循环、异常处理和随机函数应用>
  • CSS 美化页面(一)
  • 【Ai插件开发】Notepad++ AI插件开发进阶:集成Ai模型问答功能与流式交互实现
  • 【区块链安全 | 第九篇】基于Heimdall设计的智能合约反编译项目