课后作业
一、用Navicat Premium 12软件创建三张表:学生表、选课表、课程表
学生表(学号, 姓名, 性别, 年龄, 电话) - 学号是字符串类型
选课表(学号, 课程号, 成绩)
课程表(课程号, 课程名, 课时数) - 课程号是字符串类型
学生表:

选课表:

课程表:

二、创建实体类
1、创建学生实体类

package net.lhf.mybatis.bean;/*** 功能:学生实体类* 作者:李红芙* 日期:2021年03月14日*/
public class Student {private int id;private String name;private String gender;private int age;private Clazz clazz;private int phone;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public Clazz getClazz() {return clazz;}public void setClazz(Clazz clazz) {this.clazz = clazz;}public int getPhone() {return phone;}public void setPhone(int phone) {this.phone = phone;}@Overridepublic String toString() {return "Student{" +"id=" + id +", name='" + name + '\'' +", gender='" + gender + '\'' +", age=" + age +", clazz=" + clazz.getName() +",phone="+ phone +'}';}
}

2、创建选课实体类

package net.lhf.mybatis.bean;/*** 功能:选课实体类* 作者:李红芙* 日期:2021年3月14日*/
public class Curr {private int id;private int number;private int grade;public int getId() {return id;}public void setId(int id) {this.id = id;}public int getNumber() {return number;}public void setNumber(int number) {this.number = number;}public int getGrade() {return grade;}public void setGrade(int grade) {this.grade = grade;}@Overridepublic String toString() {return "Clazz{" +"id=" + id +", number='" + number + '\'' +", grade=" + grade +'}';}
}

3、创建课程实体类

package net.lhf.mybatis.bean;/*** 功能:课程实体类* 作者:李红芙* 日期:2021年3月14日*/public class Course {private int number;private String name;private int hour;public int getNumber() {return number;}public void setNumber(int number) {this.number = number;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getHour() {return hour;}public void setHour(int hour) {this.hour = hour;}@Overridepublic String toString() {return "Course{" +"number=" + number +", name='" + name + '\'' +", hour=" + hour +'}';}
}

三、创建映射器接口
创建课程映射器接口

package net.lhf.mybatis.mapper;import net.lhf.mybatis.bean.Course;
import net.lhf.mybatis.bean.Curr;
import net.lhf.mybatis.bean.Student;import java.util.List;/***功能:课程映射器接口* 作者:李红芙* 日期:2021年03月14日*/
public interface CourseMapper {Course findById(int id);List<Course> findAll();int number(Curr number);int id(Student id);
}

四、创建测试类TestStudentMapper

package net.tp.mybatis.mapper;
import net.tp.mybatis.bean.Student;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;import java.io.IOException;
import java.io.Reader;
import java.util.HashMap;
import java.util.List;/*** 功能:测试学生映射器接口* 作者:李红芙* 日期:2021年03月10日*/
public class TestStudentMapper {private SqlSession sqlSession; // SQL会话private StudentMapper studentMapper; // 学生映射器@Beforepublic void init() {try {// 读取MyBatis配置文件作为字符输入流Reader reader = Resources.getResourceAsReader("mybatis-config.xml");// 基于MyBatis配置文件构建SQL会话工厂SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);// 利用SQL会话工厂获取SQL会话sqlSession = factory.openSession();// 利用SQL会话获取用户映射器对象studentMapper = sqlSession.getMapper(StudentMapper.class);} catch (IOException e) {e.printStackTrace();}}@Testpublic void testFindByCondition() {HashMap<String,Object> condition =new HashMap<String, Object>();condition.put("gender","女");condition.put("age",20);condition.put("name","唐");List<Student> students=studentMapper.findByCondition(condition);students.forEach(student -> System.out.println(student));if(students.size() >0){students.forEach(student -> System.out.println(student));}else {System.out.println("温馨提示:没有找到符合的学生记录~");}}@Afterpublic void destroy() {// 关闭SQL会话sqlSession.close();}}

五、运行测试方法testFindByCondition(),查看结果

学生表,选课表,课程表相关推荐

  1. mysql学生表选课表课程表_mysql查询(学生表、课程表、选课表)

    ************************************************************ 为sc表中的sno和cno创建外键 alter table sc add fo ...

  2. 学生表S,课程表C,学生课程表SC

    面试题,有三张表,学生表S,课程表C,学生课程表SC,学生可以选修多门课程,一门课程可能被多个学生选修,通过SC表关联. (1)写出建表以及插入语句: (2)写出SQL语句,查询选修了所有选修课程的学 ...

  3. 实验3数据库查询-学生表(Student)、课程表(Course)、学生选课表(SC)

    答案 查询select  彻底删除drop  修改alter 创建creat --删除数据库 drop database TK --数据库名 查询学生表S中的所有信息 use TK --数据库名 se ...

  4. MYSQL创建课程表course_MySQL简单案例之创建学生表、课程表和选课表

    Course课程表 Cpno先行课 Ccredit学分 Cno课号 Sc表(选课表)Sno学号 Cno课号 Grade成绩 Student表 Sno学号 Sname姓名 Ssex性别 Sage年龄 S ...

  5. 现有三个表:学生表(学生id,姓名)、课程表(课程id,课程名)、学生选课表(学生id,课程id),请问要列出所有学生的选课情况(每个学生选了多少门课,分别是什么),请写出SQL语句

    要求:用一条sql查出每个学生选了多少门课程,分别是什么 一.先建三张表:分别是学生表students.课程表classes.学生选课表stuclass 二.先分别查出每个学生选了多少门课程和每个学生 ...

  6. 建立学生选课表 mysql 语句_MySQL常用SQL语句(Python实现学生、课程、选课表增删改查)...

    以基本的学生选课为例,建立选课数据库,学生.班级.选课信息三张表,并分别对表进行插删改操作: import MySQLdb try: conn = MySQLdb.connect(host = 'lo ...

  7. 建立学生选课表 mysql 语句_学生选课数据库SQL语句45道练习题整理及mysql常用函数(20161019)...

    学生选课数据库SQL语句45道练习题: 一.            设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四 ...

  8. mysql查询学生表的总人数,MySQL查询练习2

    MySQL查询练习2 导读: 本次MySQL的查询语句是本人考试题目: 所有题目都已通过: 该查询练习并没有sql文件进行检查: 如果有书写以及其他错误欢迎指出. 题目正文: 1.找出借书超过5本的借 ...

  9. mysql的表面sno大全_学生表学号sno数据库

    Microsoft SQL Server 2005习题汇总小结 先建student ,course,sc表: CREATE TABLE Student ( Sno     char(7)   PRIM ...

  10. SQL笔试:Student学生表,Course 课程表,Sc选课表

    tudent学生表(学号,姓名.性别.年龄.组织部门),Course 课程表(编号,课程名称),Sc选课表(学号,课程编号,成绩) 写一个SQL语句,查询选修了计算机原理的学生学号和姓名 select ...

最新文章

  1. python批量读取dat文件_python编写Windows环境下批量修改文件名
  2. 热部署Devtools的简单使用
  3. mysql双主同步一个库,CNESA
  4. boost::mpl::equal_to相关的测试程序
  5. bootstrap table移动端_bootstrap介绍
  6. 解决w3wp.exe内存占用问题[转载]
  7. 用C语言编译一元二次方程的求解,用c语言求解一元二次方程
  8. 怎么检测声音频率和幅值_作者特稿铝板塑性损伤的电磁超声非线性检测新方法...
  9. 电梯运行控制模式:如何做到人脸识别、刷卡、二维码?
  10. IIC和SPI的异同
  11. c语言 输出方阵。输入一个正整数 n(1≤n≤10),打印一个n行n列的方阵,输出如下方阵
  12. percona xtrabackup 之一 setup
  13. T5 根据派生类写出基类(Java) (10分)
  14. AD ADSI入门
  15. html给页面整体添加左右边距_打印html页面时的边距
  16. 孙宇晨:区块链行业势必迎来光明的未来
  17. 逆---LanSet.exe
  18. C语言基础——运算符(定义变量、转义字符、输入输出语句、运算符、32个关键字)
  19. 海尔旗下有屋智能IPO被终止:年应收账款10亿 受恒大拖累
  20. 转专业计算机常见的名词解释,迎鲜肉第9弹|大学生活必知名词解释

热门文章

  1. windows8无法播放优酷土豆视频解决方法
  2. Android自定义视频播放器
  3. NeatUpload的安装使用,可传大文件,显示进度条
  4. 【蓝桥杯单片机组】| DS1302(官方驱动)+ 矩阵按键 + 数码管(改,解决数码管跳动的问题)
  5. 解决SVN安装语言包后无法选择中文的问题(亲测可行)
  6. uniapp 拍照 或者 相册 识别身份证信息
  7. 居民身份证号码查询系统
  8. php读写明华读卡器,rwCard 明华USBIC卡读卡器IC卡读写程序 - 下载 - 搜珍网
  9. 3个免费开源的项目管理/甘特图软件
  10. 短信业务 ——HTTP接口文档