Mybatis 简单使用
导入依赖包
版本号去maven仓库中挑选合适自己的。
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version></version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version></version>
</dependency>
准备工作
- Java 实体类,用于存放数据库信息
- Mapper 接口
- Mapper xml,写sql语句
public class User {
private Integer id;
private String userName;
// getter setter
}
public interface UserMapper {
User selectByPrimaryKey(Integer id);
}
<?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" >
<mapper namespace="org.example.mybatis.mapper.UserMapper">
<select id="selectByPrimaryKey" resultType="org.example.mybatis.entity.User" parameterType="java.lang.Integer">
select id, user_name from t_user where id = #{id,jdbcType=INTEGER}
</select>
</mapper>
Mybatis 查询步骤
- 读取mybatis配置文件创建
SqlSessionFactory - 获取
sqlSession - 获取对应的
mapper - 执行查询语句并返回结果
1. 创建SqlSessionFactory
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
inputStream.close();
2. 获取sqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
3. 获取对应的mapper
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
4. 执行查询语句并返回结果
User user = mapper.selectByPrimaryKey(1);
几个重要的对象
| 对象 | 作用 | 生命周期 |
|---|---|---|
SqlSessionFactoryBuilder |
读取配置文件并创建SqlSessionFactory |
方法级 |
SqlSessionFactory |
工厂模式,创建SqlSession |
程序级 |
SqlSession |
代表一次数据库链接,可以直接发送sql执行,也可以调用Mapper访问数据库。线程不安全,要保证线程独享。 | 方法级 |
SQL Mapper |
由一个Java接口和一个xml文件组成,包含了要执行的sql语句和结果集映射规则 | 方法级 |

浙公网安备 33010602011771号