news 2026/5/23 16:49:09

IDEA+mybatis实现学生信息查询系统

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
IDEA+mybatis实现学生信息查询系统

查看全文:https://www.longkui.site/program/java/ideamybatis3/7179/


本文主要实现本文主要实现《Java EE企业级应用开发教程(Spring+SpringMVC+Mybatis)》第2版中的第3章课后习题:学生信息管理系统。

(1)多条件查询
当用户输入的学生姓名不为空时,则只根据学生姓名进行学生信息的查询
当用户输入的学生姓名为空而学生专业不为空时,则只根据学生专业进行学生信息的查询
当用户输入的学生姓名和专业都为空,则要求查询出所有的学号不为空的学生信息
(2)单条件查询出所有id值小于5的学生的信息
前面的搭建过程参考第一章代码:IDEA(2020版)实现MyBatis入门程序 – 每天进步一点点

本文源代码(访问密码: 1542):

MyBatis03.zip: https://url47.ctfile.com/f/64055047-1502053786-268115?p=1542

可能遇到的报错:

java.io.IOException: Could not find resource mybatis-config.xml

IDEA 连接数据库报错Public Key Retrieval is not allowed

1.数据库部分

使用mybatis数据库

USE mybatis;

创建一个名称为dm_student的表

CREATE TABLE dm_student(
id int(32) PRIMARY KEY AUTO_INCREMENT,
name varchar(50),
major varchar(50),
sno varchar(16)
);

插入7条数据

INSERT INTO dm_student VALUES (‘1’, ‘张三’, ‘数学’, ‘10001’);
INSERT INTO dm_student VALUES (‘2’, ‘李四’, ‘英语’, ‘10002’);
INSERT INTO dm_student VALUES (‘3’, ‘王五’, ‘计算机’, ‘10003’);
INSERT INTO dm_student VALUES (‘4’, ‘王刚’, ‘化学’, ‘10004’);
INSERT INTO dm_student VALUES (‘5’, ‘李华’, ‘物理’, ‘10005’);
INSERT INTO dm_student VALUES (‘6’, ‘李雷’, ‘中文’, ‘10006’);
INSERT INTO dm_student VALUES (‘7’, ‘张飞’, ‘英语’, ‘10007’);

执行结果如下:

2.创建实体类
右击pojo文件夹,New—>Java Class,名字写Student

参考代码如下:

packagecom.itheima.pojo;/** * 学生持久化类 */publicclassStudent{privateIntegerid;//主键idprivateStringname;// 姓名privateStringmajor;// 专业privateStringsno;// 学号publicIntegergetId(){returnid;}publicvoidsetId(Integerid){this.id=id;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicStringgetMajor(){returnmajor;}publicvoidsetMajor(Stringmajor){this.major=major;}publicStringgetSno(){returnsno;}publicvoidsetSno(Stringsno){this.sno=sno;}@OverridepublicStringtoString(){return"Student{"+"id="+id+", name='"+name+", major="+major+", sno="+sno+'}';}}

创建完后如下:


下面要创建工具类;

因为要做增删改查操作,所以可以把第1章sqlSession部分封装一下,封装成工具类

右击“itheima—>New—>Package”

文件夹名称选择“utils”,然后回车

然后右击刚才创建的 utils文件夹,选择“New—>Java Class”

文件名称输入 MyBatisUtils,然后点击回车

代码参考如下:

package com.itheima.utils;importjava.io.Reader;importorg.apache.ibatis.io.Resources;importorg.apache.ibatis.session.SqlSession;importorg.apache.ibatis.session.SqlSessionFactory;importorg.apache.ibatis.session.SqlSessionFactoryBuilder;/** * 工具类 */ public class MyBatisUtils{private static SqlSessionFactory sqlSessionFactory=null;// 初始化SqlSessionFactory对象 static{try{// 使用MyBatis提供的Resources类加载MyBatis的配置文件 Reader reader=Resources.getResourceAsReader("mybatis-config.xml");// 构建SqlSessionFactory工厂 sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);}catch(Exception e){e.printStackTrace();}}// 获取SqlSession对象的静态方法 public static SqlSessiongetSession(){returnsqlSessionFactory.openSession();}}

3.创建mapper文件


查看全文:https://www.longkui.site/program/java/ideamybatis3/7179/

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/23 10:21:27

OpenSpec定义AI模型接口标准助力Qwen3-VL-30B集成

OpenSpec定义AI模型接口标准助力Qwen3-VL-30B集成 在当今AI系统日益复杂的背景下,一个尖锐的现实摆在开发者面前:我们拥有越来越强大的模型,却越来越难把它们用起来。 以Qwen3-VL-30B为例——这款300亿参数的视觉语言大模型,能在毫…

作者头像 李华
网站建设 2026/5/22 18:25:00

英伟达B200:AI算力革命的新纪元引擎

英伟达B200:AI算力革命的新纪元引擎在人工智能算力竞赛进入白热化的2024年,英伟达B200 GPU的横空出世,不仅重新定义了数据中心的计算边界,更标志着通用计算架构向智能化跃迁的关键拐点。这款基于Blackwell架构的新一代旗舰产品&am…

作者头像 李华
网站建设 2026/5/22 8:32:29

自动批量混剪视频软件配置流程

这是一款可以自动批量混剪视频的软件,先来看一段通过软件批量增加了动态特效以及边框后的视频效果。 📌 **需要查看完整文档、参数详解与示例配置的朋友,可参考我整理的笔记: ** 👉 xk.xunbk.com 现在各个平台对于视…

作者头像 李华
网站建设 2026/5/11 16:47:36

多系统并行的权限治理难题:如何消除“权限孤岛”与安全风险?

在企业数字化转型浪潮中,数据被视为新的生产资料,其安全与合规性成为企业的生命线。然而,许多企业将安全投入的焦点放在了防火墙、入侵检测、加密技术等“外围防御”上,却往往忽略了内部数据安全的“命门”——权限管理&#xff0…

作者头像 李华