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

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/

http://www.gsyq.cn/news/104456.html

相关文章:

  • Th17 细胞的分化调控、功能特征
  • OpenSpec定义AI模型接口标准助力Qwen3-VL-30B集成
  • PyTorch安装失败常见原因及vLLM环境适配建议
  • ENSP下载官网之外的技术延伸:网络仿真中集成AI决策模型
  • LobeChat在金融行业的潜在应用场景设想
  • Conda与Pip双管齐下:优化PyTorch-CUDA依赖安装流程
  • 代数学在电气工程中的深度驱动与创新应用
  • 小程序会员积分系统功能开发,抽奖,大富翁等,附分员积分系统源码
  • 基于Python的失业数据分析与预测+LW
  • Pytorch安装踩坑总结:适配Qwen3-VL-8B的CUDA版本选择
  • 计算单链表的长度
  • 阿里“王炸”开源!实测Z-Image Turbo模型:速度超快,出图质感绝了!
  • Java 反射机制深度解析:从原理到实战应用与性能优化
  • AutoGPT实战指南:从目标设定到任务完成的全流程自动化
  • PLANTAIN:让LLM推理从“黑箱长考”走向“计划先行、交互纠错”的新范式
  • Java 泛型深度解析:从原理到实战应用与常见问题
  • AutoGPT镜像云端托管服务上线,按需租用更划算
  • 基于MATLAB的改进量子遗传算法多变量函数寻优完整代码(含运行说明及Qgate1旋转门调整细节)
  • 文献评阅期末作业:基于文献评阅的期末作业撰写策略与实践研究
  • 当 paperzz AI 遇上毕业论文:从 “选题焦虑” 到 “框架落地” 的学术工具实战指南(附避坑技巧)
  • LobeChat部署常见错误汇总及解决方案(新手避坑指南)
  • Git tag标记Qwen3-VL-30B关键里程碑版本
  • 学术诚信文献考核:基于文献分析的学术诚信考核体系构建与实践研究
  • transformer模型详解:以Qwen3-32B为例剖析架构设计
  • Qwen3-VL-30B视频时序感知技术揭秘:自动驾驶场景下的落地路径
  • 接口测试到接口自动化入门到高级,学习路线指南...
  • 文献综述写作期末指南:结构框架、选题技巧与常见问题解析
  • AutoGPT如何设置优先级?任务调度机制解读
  • 期末文献研究论文的撰写规范与实践路径探析
  • 好用的电动平车哪个公司好