IDEA+mybatis实现学生信息查询系统
查看原文:IDEA+mybatis实现学生信息查询系统 – 每天进步一点点
本文主要实现本文主要实现《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

参考代码如下:
package com.itheima.pojo;
/**
* 学生持久化类
*/
public class Student {
private Integer id; //主键id
private String name; // 姓名
private String major; // 专业
private String sno; // 学号
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
public String getSno() {
return sno;
}
public void setSno(String sno) {
this.sno = sno;
}
@Override
public String toString() {
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;
import java.io.Reader;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.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 SqlSession getSession() {
return sqlSessionFactory.openSession();
}
}

3.创建mapper文件
右击mapper文件夹,选择New—>File
-----------------
浙公网安备 33010602011771号