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);
在项目根目录下的pom文件中引入MyBatis和数据库的坐标,其代码如下所示。
<dependencies>
<dependency>
<groupId>junitgroupId>
<artifactId>junitartifactId>
<version>4.11version>
<scope>testscope>
dependency>
<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
<version>8.0.25version>
dependency>
<dependency>
<groupId>org.mybatisgroupId>
<artifactId>mybatisartifactId>
<version>3.5.3version>
dependency>
dependencies>
Pom文件修改完成后,点击右侧maven面板,弹出maven操作页面,点击刷新按钮,下载相应的依赖包,等待下载完成,在左侧External Libraries中可以查看依赖包是否下载完成,如下图所示。
在src->main目录下,新建目录文件resources,并将其设置为资源根目录,在此目录下,创建myBaits主配文件mybatis-config.xml,代码如下所示。
DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
settings>
<environments default="mysql">
<environment id="mysql">
<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>
<mappers>
<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,完成学生表的增删改查,代码如下所示。
DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<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();
}
}