什么是Mybatis?
根据查看官方文档得知
mybatis是一个 持久层框架支持自定义 SQL、存储过程以及高级映射,几乎避免了所有的 JDBC 代码以及设置参数和获取结果集的工作。
Mybatis入门
Mybatis环境搭建&入门案例
0、创建maven项目,导入 mybatis 坐标
1、创建核心 配置文件 ,以便获取 SqlSessionFactory 对象
2、创建 实体类 和 dao层接口
3、编写对应的 dao 层接口的 mapper.xml 文件
4、指定在核心配置文件中指定mapper.xml坐标映射
5、使用Resours工具类加载核心配置文件,创建SqlSessionFactoryBuilder对象,建造 SqlSessionFactory对象,获取SqlSession
6、使用SqlSession获取 Mapper,执行方法。
项目结构 :
测试用例:
@Test
public void findAllTest() throws IOException {
InputStream input = Resources.getResourceAsStream(" mybatis-config.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(input);
SqlSession sqlSession = sqlSessionFactory.openSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
List<User> users = userMapper.findAll();
for (User user : users) {
System.out.println(user);
}
sqlSession.close();
input.close();
}
Mybatis核心配置文件中一些常用配置
properties: 常用于读取外部的db.properties文件,可以动态替换,就近使用。
settings:可以配置一些重要的设置,详情参照 官方文档
typeAliases:配置别名映射,配置之后就不用在 xxxMapper.xml 的返回值类型中,写全限定类名了
typeHandlers
environments:配置环境,可以配置多套环境以供使用,其中比较重要的配置是 transactionManage(如果使用 Spring+MyBatis,则这个配置不配置无所谓)和dataSource(配置 数据源对象)
mappers:映射器,告诉 Mybatis 去哪里找 存放SQL的映射文件(十分重要)
Mybatis XML 映射器中的一些常用配置
也就是对应dao层接口的哪个xxxMapper.xml
namespace指定要
id是对应方法名
cache:该命名空间的缓存配置
cache-ref:引用其他命名空间的缓存配置
resultMap:描述如何从 数据库结果集 中加载对象
sql:可被其他语句引用的可重用语句块
insert : 映射插入语句
update:映射更新语句
delete: 映射删除语句
select: 映射查询语句