【MyBatis】学生表格操作
创始人
2025-05-30 06:53:16
0

目录

文件目录

Maven依赖

配置application.properties

StudentMapper.java

Student.java

stu-mapper.xml

HomeworkApplicationTests.java 

运行结果


学生表:字段包括,id、学生学号、姓名、班级、生日日期,其中id为主键

请按照要求完成以下任务。

1) 编写实体类;

2) 编写接口;

接口中包括如下相关方法:

public void insertStudent(Student s);

public void deleteStudent(int stuId);

public void updateStudent(Student s);

public Student selectStudentById(int stuId);

public List selectStudent();//返回所有的学生信息

public int getCount();//返回记录条数

public Integer selectStudentMaxId ();//获取最大的id

public List selectStudent2(String startDate,String endDate);//查询生日指定日期范围的学生记录

public List selectStudentByCondition(Student s);//判断传入的属性,编写查询条件,用if

public List queryByInList(List ids);//编写foreach查询条件的功能ids为id列表

public void updateStudentSet(Student s);//用set来确定更新部分字段

public void updateStudentTrim(Student s);//用trim来确定更新部分字段

public void updateStudentWhere(Student s);//用where来确定更新部分字段

3)编写测试代码。


文件目录

Maven依赖

org.springframework.bootspring-boot-starter-aoporg.springframework.bootspring-boot-starter-testtestorg.mybatis.spring.bootmybatis-spring-boot-starter3.0.1org.springframework.bootspring-boot-devtoolsruntimetruemysqlmysql-connector-java8.0.32junitjunit4.13.2test

 配置application.properties

# DataSourceProperties
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/javaee?characterEncoding=utf-8&useSSL=false&serverTimezone=Hongkong
spring.datasource.username=root
spring.datasource.password=123456# MybatisProperties
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.school.homework.entity
mybatis.configuration.useGeneratedKeys=true
mybatis.configuration.mapUnderscoreToCamelCase=true
mybatis.configuration.use-actual-param-name=true# logger
logging.level.com.school.homework=debug

StudentMapper.java

@Mapper
public interface StudentMapper {public void insertStudent(Student s);public void deleteStudent(int stuId);public void updateStudent(Student s);public Student selectStudentById(int stuId);public List selectStudent();//返回所有的学生信息public int getCount();//返回记录条数public Integer selectStudentMaxId ();//获取最大的idpublic List selectStudent2(String startDate,String endDate);//查询生日指定日期范围的学生记录public List selectStudentByCondition(Student s);//判断传入的属性,编写查询条件,用ifpublic List queryByInList(List ids);//编写foreach查询条件的功能ids为id列表public void updateStudentSet(Student s);//用set来确定更新部分字段public void updateStudentTrim(Student s);//用trim来确定更新部分字段public void updateStudentWhere(Student s);//用where来确定更新部分字段
}

Student.java

public class Student {private int id;private int stuId;private String name;private String classname;private Date birthday;@Overridepublic String toString() {return "Student{" +"id=" + id +", stuId=" + stuId +", name='" + name + '\'' +", classname='" + classname + '\'' +", birthday=" + birthday +'}';}public Student(){}public Student(int id,int stuId,String name,String classname,Date birthday){super();this.id=id;this.stuId=stuId;this.name=name;this.birthday=birthday;this.classname=classname;}public int getId() {return id;}public void setId(int id) {this.id = id;}public int getStuId() {return stuId;}public void setStuId(int stuId) {this.stuId = stuId;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getClassname() {return classname;}public void setClassname(String classname) {this.classname = classname;}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}
}

stu-mapper.xml



id,stu_id,name,classname,birthdaystu_id,name,classname,birthdayinsert into student ()values (#{stuId},#{name},#{classname},#{birthday})update student set stu_id=#{stuId},name=#{name},classname=#{classname},birthday=#{birthday} where id =#{id}update studentstu_id=#{stuId},name=#{name},classname=#{classname},birthday=#{birthday}where id =#{id}update studentstu_id=#{stuId},name=#{name},classname=#{classname},birthday=#{birthday}update studentname=#{name},classname=#{classname},and id=#{id}stu_id=#{stuId}and birthday=#{birthday}delete from student where stu_id=#{stuId}

HomeworkApplicationTests.java 

@RunWith(SpringRunner.class)
@SpringBootTest
@ContextConfiguration(classes = HomeworkApplication.class)
public class HomeworkApplicationTests {@Autowiredprivate StudentMapper studentMapper;@Testpublic void testInsertStudent(){Student s=new Student();s.setStuId(27);s.setBirthday(new Date());s.setClassname("计科201");s.setName("小李同学");studentMapper.insertStudent(s);System.out.println(s);}@Testpublic void testDeleteStudent(){int sStuId=21;studentMapper.deleteStudent(sStuId);System.out.println(studentMapper.selectStudentById(21));}@Testpublic void testUpdateStudent() throws ParseException {Date date1 = new SimpleDateFormat("yyyy-MM-dd").parse("2002-01-05");Student s=new Student(1,19,"小李同学","计科201",date1);studentMapper.updateStudent(s);}@Testpublic void testSelectStudentById(){Student s=studentMapper.selectStudentById(19);System.out.println(s);}@Testpublic void testSelectStudent(){System.out.println(studentMapper.selectStudent());}@Testpublic void testGetCount(){System.out.println(studentMapper.getCount());}@Testpublic void testSelectStudentMaxId(){System.out.println(studentMapper.selectStudentMaxId());}@Testpublic void testSelectStudent2(){System.out.println(studentMapper.selectStudent2("2002-01-04","2023-03-28"));}@Testpublic void testSelectStudentByCondition() throws ParseException {Date date1 = new SimpleDateFormat("yyyy-MM-dd").parse("2002-01-03");Student s=new Student(1,19,"","",date1);System.out.println(studentMapper.selectStudentByCondition(s));}@Testpublic void testQueryByInList(){List ids=new ArrayList<>();ids.add(19);//ids.add(23);ids.add(21);List stus=studentMapper.queryByInList(ids);for (Student stu:stus) {System.out.println(stu);}}@Testpublic void testUpdateStudentSet() throws ParseException {Date date1 = new SimpleDateFormat("yyyy-MM-dd").parse("2002-01-08");Student s=new Student(4,0,"小h同学","医学117",date1);studentMapper.updateStudentSet(s);System.out.println(studentMapper.selectStudentById(s.getStuId()));}@Testpublic void testUpdateStudentTrim() throws ParseException {Student s=new Student(2,21,"王二虎","网络181",new SimpleDateFormat("yyyy-MM-dd").parse("2003-11-05"));studentMapper.updateStudentTrim(s);System.out.println(studentMapper.selectStudentById(s.getStuId()));}@Testpublic void testUpdateStudentWhere(){Student s=new Student(4,0,"王丽","建工138",null);studentMapper.updateStudentWhere(s);System.out.println(studentMapper.selectStudent());}}

运行结果

 

 

相关内容

热门资讯

造假泛滥、虫入车间、产能拉胯:... 订阅 快刀财经 ▲ 做您的私人商学院世界药房的致命短板。作者:朱末来源:快刀财经(ID:kuai...
影石创新股价“脚踝斩”,刘靖康... 出品|达摩财经近日,第三方数据公司IDC发布了2026年一季度全球手持智能相机行业报告。报告数据显示...
美股半导体股,集体上涨 美股半... 6月29日,美股三大指数集体高开,道指涨0.29%,纳指涨0.96%,标普500指数涨0.55%。 ...
三只*ST股,将摘星脱帽 st... 6月29日晚间,A股三家*ST公司公告称将“摘星脱帽”。 具体来看,*ST艾艾发布关于撤销退市风险警...
【就业创业典型】大棚逐梦人:一... 编者按:近年来,延安市残疾人工作坚持以习近平新时代中国特色社会主义思想为指导,以促进残疾人事业全面高...
公募基金锚定新质生产力,多维赋... 6月22日消息,中国证监会主席吴清近日在2026陆家嘴论坛上表示,资本市场与新质生产力双向奔赴、相互...
液冷服务器概念震荡走强,冰轮环... 6月22日消息,午后液冷服务器概念震荡走强,冰轮环境9天5板,此前康盛股份涨停,大元泵业、川润股份、...
涉留神峪煤矿事故,国家矿山安全... 6月22日消息,国家矿山安全监察局山西局监察执法八处三级调研员耿青禄涉嫌严重违法,涉通洲集团留神峪煤...
周立成拟任中国投资协会秘书长 6月22日消息,中国投资协会发布关于中国投资协会第五届理事会届中调整负责人人选的公示:周立成,男,汉...
以防长称以军已做好对伊采取独立... 据央视新闻,以色列国防部长卡茨日前在与军事记者的闭门谈话中,阐述了以色列在黎巴嫩、伊朗及加沙地带等多...