MyBatis核心接口和类的功能简介说明
下文笔者讲述Mybatis核心接口和类的简介说明,如下所示
MyBatis框架核心对象
MyBatis框架中核心对象: 包括核心接口和类 SqlSessionFactory实例 属于MyBatis框架应用程序的核心。 SqlSessionFactory实例 由SqlSessionFactoryBuilder对象 通过XML配置文件或Configuration类的实例进行创建 SqlSession实例: 使用SqlSessionFactory实例可获得SqlSession实例 包括执行SQL操作的方法 可以同过该实例执行已映射的SQL语句
SqlSessionFactoryBuilder
SqlSessionFactoryBuilder: 负责根据配置文件信息构建SqlSessionFactory实例 SqlSessionFactoryBuilder提供多种builder()重载方法 如下所示: builder(Reader reader, String environment, Properties properties) builder(InputStream inputStream, String environment, Properties properties) builder(Configuration config)
SqlSessionFactory
使用SqlSessionFactoryBuilder构建SqlSessionFactory实例 是MyBatis框架应用的核心 SqlSessionFactory是创建SqlSession实例的工厂 SqlSessionFactory提供了openSession()方法来获取SqlSession实例。 openSession(boolean 参数)方法: 参数等于true时,表示自动提交事务,关闭事务控制 false,表示关闭自动提交,开启事务控制 注意事项: 在实际使用中,不建议反复销毁和创建SqlSessionFactory实例 SqlSessionFactory实例一旦创建就应该在应用的运行周期中始终存在。
MybatisUtil编写
public class MyBatisUtil { private static String CONFIG_FILE = "mybatis-config.xml"; private static SqlSessionFactory factory; static { try { InputStream stream = Resources.getResourceAsStream(CONFIG_FILE); factory = new SqlSessionFactoryBuilder().build(stream); } catch (IOException e) { e.printStackTrace(); } } public static SqlSession getSqlSession(){ return factory.openSession(); } public static void close(SqlSession sqlSession){ if (sqlSession!=null){ sqlSession.close(); } } }
SqlSession
SqlSession: 用于执行持久化操作 它提供数据执行SQL命令的能力 使用SqlSession提供的方法运行已映射的SQL语句 SqlSession指一次数据库会话 SqlSession实例是非线程安全的,不能被共享, 每个线程都应该使用自己独立的SqlSession实例, SqlSession实例的生命周期不应该是永久的
SqlSessionFactoryBuilder执行绑定的SQL语句有两种方式
基于字符串常量 该方法有类型转换的问题 Integer result = sqlSession.selectOne("com.java265.count"); System.out.println("count = " + result); 基于Mapper接口 推荐使用Mapper接口 无需进行类型转换 User user = sqlSession.getMapper(User.class); Integer count = user.count();
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。