mybatis 中 sqlSession = factory.openSession(); sqlSession是啥?
问题一:sqlSession到底是个什么东西,用sqlSession.selectOne(),执行查询比传统的jdbc减少了哪些步骤?SqlSessionsqlSessi...
问题一:sqlSession到底是个什么东西,用sqlSession.selectOne(),执行查询比传统的jdbc减少了哪些步骤?
SqlSession sqlSession = null;
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
sqlSession = factory.openSession();
问题二:用传统jdbc的时候,可以通过Druid获取连接对象,然后把这个对象放到ThreadLocal中。要用的时候,可以从ThreadLocal中返回一个连接副本,再通过这个连接对象执行具体的sql语句。prep = 连接对象.prepareStatement(sql); 但是用mybatis时,怎么使用数据库连接池和ThreadLocal?? 可以把sqlSession放到ThreadLocal中吗?如果这样,连接池岂不是没用了?
问题三:以上的说明我的理解是否有错?
新手求救各路大神,跪谢了
答案能解决问题,会追加积分的。 展开
SqlSession sqlSession = null;
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
sqlSession = factory.openSession();
问题二:用传统jdbc的时候,可以通过Druid获取连接对象,然后把这个对象放到ThreadLocal中。要用的时候,可以从ThreadLocal中返回一个连接副本,再通过这个连接对象执行具体的sql语句。prep = 连接对象.prepareStatement(sql); 但是用mybatis时,怎么使用数据库连接池和ThreadLocal?? 可以把sqlSession放到ThreadLocal中吗?如果这样,连接池岂不是没用了?
问题三:以上的说明我的理解是否有错?
新手求救各路大神,跪谢了
答案能解决问题,会追加积分的。 展开
2018-07-10 · 国内最优秀java资源共享平台
关注
展开全部
1、这个类可以被实例化、使用和丢弃,一旦创建了 SqlSessionFactory,就不再需要它了。
2、因此 SqlSessionFactoryBuilder 实例的最佳范围是方法范围(也就是局部方法变量)。
3、你可以重用 SqlSessionFactoryBuilder 来创建多个 SqlSessionFactory 实例,
但是最好还是不要让其一直存在以保证所有的 XML 解析资源开放给更重要的事情。
4、SqlSessionFactory 一旦被创建就应该在应用的运行期间一直存在,没有任何理由对它进行清除或重建。
5、使用 SqlSessionFactory 的最佳实践是在应用运行期间不要重复创建多次,
多次重建 SqlSessionFactory 被视为一种代码“坏味道(bad smell)”。
6、因此 SqlSessionFactory 的最佳范围是应用范围。有很多方法可以做到,最简单的就是使用单例模式或者静态单例模式。
2、因此 SqlSessionFactoryBuilder 实例的最佳范围是方法范围(也就是局部方法变量)。
3、你可以重用 SqlSessionFactoryBuilder 来创建多个 SqlSessionFactory 实例,
但是最好还是不要让其一直存在以保证所有的 XML 解析资源开放给更重要的事情。
4、SqlSessionFactory 一旦被创建就应该在应用的运行期间一直存在,没有任何理由对它进行清除或重建。
5、使用 SqlSessionFactory 的最佳实践是在应用运行期间不要重复创建多次,
多次重建 SqlSessionFactory 被视为一种代码“坏味道(bad smell)”。
6、因此 SqlSessionFactory 的最佳范围是应用范围。有很多方法可以做到,最简单的就是使用单例模式或者静态单例模式。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询