news 2026/6/11 12:08:57

IDEA+mybatis实现基于MyBatis注解的学生管理程序

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
IDEA+mybatis实现基于MyBatis注解的学生管理程序

查看全文:https://www.longkui.site/program/java/ideamybatismybatis2/7183/


本文主要实现《Java EE企业级应用开发教程(Spring+SpringMVC+Mybatis)》第2版中的第5章课后习题:

要求:

(1)MyBatis注解实现查询操作

(2)MyBatis注解实现修改操作(将id为4的学生修改为李雷,年龄修改为21)

(3)MyBatis注解实现一对多查询(查询出二班所有学生的信息)

前面的搭建过程参考第一章代码:IDEA(2020版)实现MyBatis入门程序 – 每天进步一点点

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

MyBatis5.zip: https://url47.ctfile.com/f/64055047-1502040463-75d08d?p=4728

可能遇到的报错:

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

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

1.数据库部分

USE mybatis;# 创建一个名称为c_class的表CREATE TABLE c_class(idint(32)PRIMARY KEY AUTO_INCREMENT, classname varchar(40));# 插入2条数据INSERT INTO c_class VALUES(1,'一班');INSERT INTO c_class VALUES(2,'二班');# 创建一个名称为s_student的表CREATE TABLE s_student(idint(32)PRIMARY KEY AUTO_INCREMENT, name varchar(40), age int, cid int(32)NOT NULL, FOREIGN KEY(cid)REFERENCES c_class(id));# 插入4条数据INSERT INTO s_student VALUES(1,'张三',18,1);INSERT INTO s_student VALUES(2,'李四',18,2);INSERT INTO s_student VALUES(3,'王五',19,2);INSERT INTO s_student VALUES(4,'赵六',20,1);

执行结果如下:

2.创建实体类

右击“pojo”文件夹,选择 “New—>Java Class”,名字叫 IStudent


IStudent实体类代码参考如下:

package com.itheima.pojo;/** * 学生持久化类 */ public class IStudent{private Integerid;// 主键id private String name;// 姓名 private int age;// 年龄 public IntegergetId(){returnid;}public void setId(Integerid){this.id=id;}public StringgetName(){returnname;}public void setName(String name){this.name=name;}public intgetAge(){returnage;}public void setAge(int age){this.age=age;}@Override public StringtoString(){return"Student{"+"id="+id+", name='"+ name +", age="+ age +'}';}}

然后再创建一个IClass实体类

代码参考如下:

package com.itheima.pojo;importjava.util.List;/** * 班级持久化类 */ public class IClass{private Integerid;// 主键id private String classname;// 班级名称 private List<IStudent>studentList;// 学生集合 public IntegergetId(){returnid;}public void setId(Integerid){this.id=id;}public StringgetClassname(){returnclassname;}public void setClassname(String classname){this.classname=classname;}public List<IStudent>getStudentList(){returnstudentList;}public void setStudentList(List<IStudent>studentList){this.studentList=studentList;}@Override public StringtoString(){return"IClass{"+"id="+id+", classname='"+ classname +", studentList="+ studentList +'}';}}

3.创建dao层
右击“itheima”,然后选择“New—>Package”,名称选择 “dao”


查看全文:https://www.longkui.site/program/java/ideamybatismybatis2/7183/

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

ASCII转换

ASCII&#xff08;American Standard Code for Information Interchange&#xff0c;美国信息交换标准代码&#xff09;是一种基于拉丁字母的电脑编码系统&#xff0c;主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准&#xff0c;并等同于国际标准 ISO/IEC 646。…

作者头像 李华
网站建设 2026/6/11 3:26:57

锐亚教育-Unity3D制作《类王者荣耀》爆款手游系列课程

告别 “只会做 Demo”&#xff01;Unity3D 实战课&#xff1a;复刻《类王者荣耀》核心玩法引言随着游戏行业的迅猛发展&#xff0c;尤其是在手机端游戏的普及和玩家需求的不断变化&#xff0c;越来越多的开发者开始转向高质量、多功能的游戏开发技术。而在这其中&#xff0c;Un…

作者头像 李华
网站建设 2026/6/10 5:12:16

基于微信小程序的积分制零食自选平台【源码文末联系】

基于微信小程序的积分制零食自选平台 三个角色&#xff08;管理端&#xff0c;用户&#xff0c;商家&#xff09; 效果如下&#xff1a; 登录页面零食信息页面补货信息页面优惠券页面管理员主页面注册页面用户首页面订单确认页面研究背景 随着移动互联网的深度渗透与智能终端的…

作者头像 李华
网站建设 2026/6/10 7:37:28

BrowserUse14-源码-ScreenShot模块-整理

BrowserUse14-源码-ScreenShot模块-整理ScreenShot模块 1-源码部分【下载】基于图片的Base64进行图片的&#xff0c;【查看】指定本地的文件路径进行查看""" 浏览器使用代理的截图存储服务。 """import base64 from pathlib import Pathimport a…

作者头像 李华
网站建设 2026/6/11 10:43:04

品牌营销的“防AI雷区”:MyDetector如何让你的文案和图片双保险

品牌营销的“防AI雷区”&#xff1a;MyDetector 如何让你的文案和图片双保险&#xff08;完整版 1680 字&#xff09; AI 时代&#xff0c;品牌最怕的不是写不出来&#xff0c;而是“写得太像 AI” 在如今的营销圈&#xff0c;AI 已经成了标配&#xff1a; ChatGPT 30 秒出一篇…

作者头像 李华