Mybatis框架导入
在Maven项目中导入Mybatis框架依赖
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.5</version>
</dependency>
编写Mybatis配置文件
将文件名为:mybatis-config.xml(命名随意,我这里见名知意)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mabatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<!-- 这里事务管理 我们使用JDBC-->
<transactionManager type="JDBC"></transactionManager>
<!-- 配置数据库连接池信息 这里用的是mybatis内部实现的连接池POOLED-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql:///employees"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
</configuration>
将mybatis-config.xml放到资源文件下:
编写SQL映射文件
如果要在真正使用Mybatis框架,还得配置SQL映射文件,文件一般命名为
你要操作的表名+Mapper.xml。
例如我要操作Student表,那么我创建的SQL映射文件为:
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">
<!--需要注意的是 实体类字段名称 必须跟数据库表中字段一致
否则,无法SQL的结果无法映射到实体类
-->
<!-- namespace 命名空间-->
<mapper namespace="test">
<!--在这里简单写个查询语句-->
<!--Student是我创建的实体类-->
<select id="selectAll" resultType="Student">
select *
from tb_student;
</select>
</mapper>
Student实体类:
public class Student {
private Integer stuId;
private String stuName;
private String stuSex;
private Integer stuYear;
private Integer school;
public Integer getStuId() {
return stuId;
}
public void setStuId(Integer stuId) {
this.stuId = stuId;
}
public String getStuName() {
return stuName;
}
public void setStuName(String stuName) {
this.stuName = stuName;
}
public String getStuSex() {
return stuSex;
}
public void setStuSex(String stuSex) {
this.stuSex = stuSex;
}
public Integer getStuYear() {
return stuYear;
}
public void setStuYear(Integer stuYear) {
this.stuYear = stuYear;
}
public Integer getSchool() {
return school;
}
public void setSchool(Integer school) {
this.school = school;
}
@Override
public String toString() {
return "Student{" +
"stuId=" + stuId +
", stuName='" + stuName + '\'' +
", stuSex='" + stuSex + '\'' +
", stuYear=" + stuYear +
", school=" + school +
'}';
}
}
编写了映射文件后,还得在刚刚的mybatis-config.xml中声明此映射文件
把下面代码添加到mybatis-config.xml文件的 标签内即可。
<mappers>
<!-- 加载sql映射文件-->
<mapper resource="你映射文件的路径"/>
</mappers>
测试
/**
* mybatis框架初步使用
*/
public class MyBatisDemo01 {
public static void main(String[] args) throws Exception {
//加载mybatis核心配置文件,获取SqlSessionFactory对象
//文件在maven结构的main的resources文件夹下,用Resources类读取
InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(in);
//获取SqlSession对象
SqlSession session = ssf.openSession();
//调用selectList 返回一个集合
//参数写入 命名空间.SQL语句的id 这在你刚刚的映射文件可以看到
//执行Mybatis会在内部对其进行映射,然后执行SQL语句
List<Student> objects = session.selectList("test.selectAll");
//输出
System.out.println(objects);
//释放资源
session.close();
}
}
执行结果输出:
成功使用Mybatis框架执行SQL语句。
小记
以上只是我对Mybatis框架的简单配置和使用,Mybatis框架的功能绝不仅仅于此,Mybatis框架是十分强大的,要了解更多功能还得后面深入了解,大家可以一起努力,循序渐进。
想要对Mybatis框架有基本了解还得查看官方文档:https://mybatis.org/mybatis-3/zh/index.html