码迷,mamicode.com
首页 > 其他好文 > 详细

mybatis~3

时间:2018-09-06 00:09:39      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:nfa   删除   重复   ber   封装   方法   需要   映射   局部变量   

1、mybatis与hibernate的不同之处

  mybatis不完全是一个ORM矿建,因为mybatis需要程序员自己编写SQL语句。mybatis可以通过XML或注解方式灵活配置要运行的SQL语句,并将Java对象和sql语句映射生成最终执行的sql,最后将sql执行的结果再映射生成java对象。无法做到数据库无关性

  hibernate对象/关系映射能力强,数据库无关性好,对于关系模型要求高的软件如果用hibernate开发可以节省很多代码,提高效率。

2、SqlSession的使用范围

SqlSession中封装了对数据库的操作,如:查询、插入、更新、删除等

SqlSession通过SqlSessionFactory创建

SqlSessionFactory是通过SqlSessionFactoryBuilder进行创建。

(1)SqlSessionFactoryBuilder

SqlSessionFactoryBuilder用于创建SqlSessionFactory,SqlSessionFactory一旦创建完成就不需要SqlSessionFactoryBuilder了,因为SqlSession是通过SqlSessionFactory创建的。所以可以将SqlSessionFactoryBuilder当成一个工具类使用,最佳使用范围是方法范围即方法体内局部变量。

(2)SqlSessionFactory

SqlSessionFactory是一个接口,接口中定义了openSession的不同重载方法,SqlSessionFactory的最佳使用范围是整个应用运行期间,一旦创建后可以重复使用,通常以单例管理SqlSessionFactory

(3)SqlSession

SqlSession是面向用户的接口,SqlSession中定义了数据库操作方法。每个线程都应该有它自己的SqlSession实例。SqlSession的实例不能共享使用,它也是线程不安全的。因此最佳的范围是请求或方法范围。绝对不能将SqlSession实例的引用放在一个类的静态字段或实例字段中。

mybatis~3

标签:nfa   删除   重复   ber   封装   方法   需要   映射   局部变量   

原文地址:https://www.cnblogs.com/xiaoxli/p/9594919.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!