MyBatis官网文件:mybatis – MyBatis 3 | 简介
一、创建项目
文件->新建->项目,构建系统处选择Maven,点开高级设置,可以修改组ID和工件ID:
创建成功页面:
二、配置MyBatis
在开始配置之前,需要有MySql数据库,我创建的数据库名字叫mybatis,数据库中有一张user表,这些条件需要事先创建好。
1、在pom.xml文件中添加依赖
<dependencies>
<!--mybatis-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.11</version>
</dependency>
<!--mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<!--注意mysql驱动这里的版本,一定要与本地下载的版本一样,否则会报红,我电脑里下载的版本就是8.0.31-->
<version>8.0.31</version>
</dependency>
<!--junit 单元测试-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.2</version>
<scope>test</scope>
</dependency>
</dependencies>
2.创建XML核心配置文件mybatis-config.xml
在resource文件下创建文件,文件后缀一定要为.xml
然后在文件中贴入以下代码
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<!--获取数据库连接信息-->
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSl=true"/>
<property name="username" value="root"/>
<property name="password" value="123"/>
</dataSource>
</environment>
</environments>
<!-- 加载sql映射文件 -->
<mappers>
<mapper resource="UserMapper.xml"/>
</mappers>
</configuration>
映射文件UserMapper.xml目前还没创建,等到后面会进行相应的创建。
3.编写sql映射文件
在resource包下创建UserMapper.xml文件。
<select>标签是用于查询语句,还有<insert>标签、<delete>标签、<update>标签等等,且标签内直接写sql查询语句,该语句查询user表中所有信息
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--
namespace:命名空间
-->
<mapper namespace="org.example.UserMapper">
<!-- id:每一个sql语句的唯一标识,即外部通过id来调用语句 -->
<!-- resultType:返回的结果类型,即定义的POJO类-->
<select id="selectAll" resultType="org.example.pojo.User">
select * from user
</select>
</mapper>
其中resultType是设置返回结果的类型,上述代码中类型是一个java类User类,即在org.example.pojo包下创建一个User类。
注意:resultType中填写类型时要需要加上类所在的包。
4.测试
在org.example包下创建一个测试包test,在test包中创建一个测试类UserTest。
UserTest类通过SqlSessionFactory、SqlSession等类执行sql语句
package org.example.test;
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.example.pojo.User;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class UserTest {
public static void main(String[] args) {
// 1.加载mybatis的核心配置文件a,获取SqlSessionFactory对象
String resource = "mybatis-config.xml";
InputStream inputStream = null;
try {
inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 2.获取SqlSession对象,执行sql语句
SqlSession sqlSession = sqlSessionFactory.openSession();
// 3.执行sql语句
List<User> users = sqlSession.selectList("org.example.UserMapper.selectAll");
System.out.println(users);
// 4.释放资源
sqlSession.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
运行结果: