一.mybatis ORM
概念: 程序以面向对象的方式,sql的关系(面向关系型的数据库)
用法: <select id="接口中的方法名称" resultType="alialias">
sql语句
</select>
说明: <!--alialias 返回的是外部属性文件的类型(mybatis-config.xml) -->
二.mybatis的核心类(接口)
代码实例:
SetSqlSessionUtil ssu= SetSqlSessionUtil.getInstance();
SqlSessionFactory ssf= ssu.getSqlSessionUtil();
SqlSession sqlsession= ssf.openSession(false);//事务:提交,回滚
//事务:true(默认:关闭事务)|false(开启事务) 对后面的commit();和rollback();没有很大的影响!
结论:所有持久化框架需要一个sessionfactory工厂,这个session不是jsp中的会话(session),他是一个接口,提供了很多方法的接口
例如:selectOne(String statement); selectOne方法,传递一个参数
sqlsessionfactorybuilder : 核心对象
- SqlSessionFactoryBuilder
- 用过即丢,其生命周期只存在于方法体内
- 可重用其来创建多个 SqlSessionFactory 实例
负责构建SqlSessionFactory,并提供多个build方法的重载
- SqlSession(线程)
- 包含了执行SQL所需的所有方法
- 对应一次数据库会话,会话结束必须关闭
- 线程级别,不能共享
- 基于Mapper接口方式操作数据 + web方式 分层
三.配置mybatis时需要注意的方面
1:接口对应xml文件
1.1:接口名字与xml文件名称要致
1.2: xml文件中namespace="包名+类名"
2.service层
3.servlet层
编写相对应的servlet文件
4.外部属性文件的部署 引用
5.缓存
6.标签顺序(报错)
解决方案:按照对应的顺序来编写相应的代码块就可以解决。