实验准备
- 创建数据库和数据表sql语句,代码如下所示。
CREATE DATABASE mybait_demo;
USE mybait_demo;
CREATE TABLE tb_student(
sno INT AUTO_INCREMENT PRIMARY KEY,
student_name VARCHAR(20) NULL,
student_age INT NULL
);
- 给表中插入四条数据,代码如下所示。
INSERT INTO tb_student(student_name,student_age)
VALUES('张三',18),('李四',18),('王五',18),('赵六',18);
- 使用maven创建控制台程序,创建过程如下图所示.
创建后的工程结构如下图所示,
项目创建完成后,将包名org.example修改为com.bjwl,准备工作完成。
导入引入依赖包
在项目根目录下的pom文件中引入MyBatis和数据库的坐标,其代码如下所示。
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!--数据库jar包-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.25</version>
</dependency>
<!--mybatis jar包-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.3</version>
</dependency>
</dependencies>
Pom文件修改完成后,点击右侧maven面板,弹出maven操作页面,点击刷新按钮,下载相应的依赖包,等待下载完成,在左侧External Libraries中可以查看依赖包是否下载完成,如下图所示。
配置文件
在src->main目录下,新建目录文件resources,并将其设置为资源根目录,在此目录下,创建myBaits主配文件mybatis-config.xml,代码如下所示。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--Mybatis的主配文件-->
<settings>
<!--设置启用数据库字段下划线映射到java对象的驼峰式命名属性,默认为false-->
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
<!--1.配置环境 ,默认的环境id为mysql-->
<environments default="mysql">
<!--1.2.配置id为mysql的数据库环境 -->
<environment id="mysql">
<!-- 使用JDBC的事务管理 -->
<transactionManager type="JDBC" />
<!--数据库连接池 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver" />
<property name="url"
value="jdbc:mysql://localhost:3306/mybait_demo" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments>
<!--2.配置Mapper的位置 -->
<mappers>
<!--告诉mybaits的sql映射文件存放路径-->
<mapper resource="mapper/StudentMapper.xml" />
</mappers>
</configuration>
配置文件主要分为三个部分,第一部分由代码的第5-9行,是Mybaits的一些通用设置,如:第7行是启用数据库字段下划线映射到java对象的驼峰式命名属性;第二部分有代码的第10-25行,用于配置运行环境,在此配置数据库的信息;第三部分配置映射文件。
编写实体类文件
在src->main->Java路径下,创建名为com.bjwl.pojo包,新增实体类Student,代码如下所示。
public class Student {
private Integer sno;
private String studentName;
private Integer studentAge;
public Integer getSno() {
return sno;
}
public void setSno(Integer sno) {
this.sno = sno;
}
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
public Integer getStudentAge() {
return studentAge;
}
public void setStudentAge(Integer studentAge) {
this.studentAge = studentAge;
}
}
编写映射文件
在resources目录下创建mapper目录,在此目录下创建文件StudentMapper.xml,完成学生表的增删改查,代码如下所示。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--映射文件-->
<!-- namespace表示命名空间 -->
<mapper namespace="com.bjwl.pojo.Student">
<!--根据客户编号获取客户信息 -->
<select id="getAllStudent" resultType="com.bjwl.pojo.Student">
select * from tb_student
</select>
</mapper>
编写测试文件
在com.bjwl的包下面,创建文件MyBaitsTest ,代码如下所示。
public class MyBaitsTest {
public static void main( String[] args )
{
try {
getAllStudentTest();
} catch (Exception e) {
e.printStackTrace();
}
}
private static void getAllStudentTest() throws Exception {
// 1、读取配置文件
String resource = "mybatis-config.xml";
InputStream inputStream =
Resources.getResourceAsStream(resource);
// 2、根据配置文件构建SqlSessionFactory
SqlSessionFactory sqlSessionFactory =
new SqlSessionFactoryBuilder().build(inputStream);
// 3、通过SqlSessionFactory创建SqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
// 4、SqlSession执行映射文件中定义的SQL,并返回映射结果
List<Student> students = sqlSession.selectList("getAllStudent");
for (int i = 0; i < students.size(); i++) {
Student student = students.get(i);
System.out.println("姓名"+student.getStudentName()+" 年龄"+student.getStudentAge());
}
sqlSession.close();
}
}
运行程序
点击main方法左侧的绿色按钮,运行程序,运行结果如下图所示