当前位置: 首页 > 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.jsqmd.com/news/93943/

相关文章:

  • 腾讯云国际站代理商 ACE有什么优势呢?
  • Th17 细胞的分化调控、功能特征
  • 文献管理Mendeley格式用中文GB/T 7714-2015
  • Ubuntu安装SSH服务以便远程访问PyTorch开发机
  • Plotly高级可视化库的使用方法(一)
  • 好写作AI:给写作来一次“版本大更新”!论传统写作与智能辅助的范式融合
  • OpenSpec定义AI模型接口标准助力Qwen3-VL-30B集成
  • PyTorch安装失败常见原因及vLLM环境适配建议
  • 【Java毕设源码分享】基于springboot+vue的人人享美食平台的设计与实现(程序+文档+代码讲解+一条龙定制)
  • LobeChat在金融行业的潜在应用场景设想
  • 【Linux内核设计与实现读书笔记】(三)进程管理
  • GitHub Gist分享Qwen3-VL-30B调试代码片段
  • ENSP下载官网之外的技术延伸:网络仿真中集成AI决策模型
  • Seed-Coder-8B-Base支持多语言开发:Java、C#、Rust全面覆盖
  • Conda与Pip双管齐下:优化PyTorch-CUDA依赖安装流程
  • 什么是美颜SDK?一套成熟直播美颜SDK需要解决哪些工程技术问题?
  • 私董艺术鉴藏会引爆收藏热潮,企业家竞相收藏名家书画,传递文化复兴信号
  • 代数学在电气工程中的深度驱动与创新应用
  • 2025年geo系统源码开发公司技术方案有那些
  • 【Java毕设源码分享】基于springboot+vue的中医药店管理系统设计与实现(程序+文档+代码讲解+一条龙定制)
  • 小程序会员积分系统功能开发,抽奖,大富翁等,附分员积分系统源码
  • AutoGPT如何实现跨语言任务执行?翻译协调机制
  • 梁文锋的“左右互搏”:宕机的DeepSeek与闷声发财的幻方
  • Qwen3-VL-8B模型部署教程:支持快速响应的图文推理
  • 基于Python的失业数据分析与预测+LW
  • Pytorch安装踩坑总结:适配Qwen3-VL-8B的CUDA版本选择
  • PyTorch 权重剪枝中的阈值计算:深入解读 numel() 和 torch.kthvalue()
  • Huggingface镜像网站注册账号是否必要?Qwen3-VL-8B下载实测
  • 怎么样画出一张好的用户体验旅程图?
  • 计算单链表的长度