SqlSessionFactory介绍[通俗易懂]

SqlSessionFactory介绍[通俗易懂]SqlSessionFactory是MyBatis的关键对象,它是单个数据库映射关系经过编译后的内存镜像。SqlSessionFactory对象的实例可以通过SqlSessionFactoryBuilder对象来获得,而SqlSessionFactoryBuildr则可以从XML配置文件或一个预先定制的Configuration的实例构建出SqlSessionFactory的实例。每一个MyB…

大家好,又见面了,我是你们的朋友全栈君。

SqlSessionFactory是MyBatis的关键对象,它是单个数据库映射关系经过编译后的内存镜像。
SqlSessionFactory对象的实例可以通过SqlSessionFactoryBuilder对象来获得,而SqlSessionFactoryBuildr则可以从XML配置文件或一个预先定制的Configuration的实例构建出SqlSessionFactory的实例。
每一个MyBatis的应用程序都以一个SqlSessionFactory对象的实例为核心。SqlSessionFactory是线程安全的,它一旦被创建,应该在应用执行期间都存在。在应用运行期间不要重复创建多次,建议使用单例模式。SqlSessionFactory 是创建SqlSession的工厂。
SqlSessionFactory的常用方法如下:
SqlSession openSession():创建SqlSession 对象。

运用SqlSessiong测试mybatis:

public class ManyToManyTest {
public static void main(string[] args) throws Exception {
// 读取mybatia-config.xml文件
Inputstream inputStream = Resources.getResourceAstream("mybatis-config.xm");
// 初始化mybatis,创建sqlSessionFactory类的实例
SqlsessionFactory sqlSessionFactory = new sqlSessionFactoryBuilder().build(inputstream);
// 创建Session实例
SqlSession session = sqlSessionFactory.openSession();
ManyToManyTest t = new ManyToManyTest();
// 根据用户id查询用户,测试一对多关系
t.testSelectUserById(session);
// 根据订单id查询订单,测试多对多关系
t.testSelectOrderById(session) ;
// 提交事务
session.commit();
// 关闭session
session.close();
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/134270.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Java写 soapclient,PHP通过SoapClient调用Java发布的WebService

    Java写 soapclient,PHP通过SoapClient调用Java发布的WebServicephp通过接口调用数据时,长用的为:http和webservice两种方法。http是指:接口端提供http链接,将数据以json或XML格式输出到网页中。php调用端通过file_get_contents或curl方法来调用,GET/POST方式来传参。webservice是指:通过soap读写接口,现在着重来介绍一下这种方法。php5以后提供了原生的soap方法:SoapClient,需要开…

    2022年10月28日
  • java内存模型介绍[通俗易懂]

    java内存模型介绍[通俗易懂]####Java内存模型Java内存模型描述了Java虚拟机和计算机内存之间是如何协同工作的。一个Java虚拟机也是一个完整的计算机的模型,因此,这个模型自然也包含了内存模型。如果你想写出表现良好的并发程序就必须理解Java内存模型。Java内存模型描述了不同线程间如何和何时看到被其他线程修改的共享变量以及在需要时如何同步访问共享变量。原来的Java内存模型存在很多不足,所以在Java5时进行了修改。这个一直使用至今。####Java内存模型每个运行在Java虚拟机中的线程都拥有自己的线程栈。这

  • MySQL数据库分区分表配置以及原理、特点、概念、区别详解「建议收藏」

    MySQL数据库分区分表配置以及原理、特点、概念、区别详解「建议收藏」一、为什么要分表和分区?我们的数据库数据越来越大,随之而来的是单个表中数据太多。以至于查询速度变慢,而且由于表的锁机制导致应用操作也受到严重影响,出现了数据库性能瓶颈。mysql中有一种机制是表锁定和行锁定,是为了保证数据的完整性。表锁定表示你们都不能对这张表进行操作,必须等我对表操作完才行。行锁定也一样,别的sql必须等我对这条数据操作完了,才能对这条数据进行操作。当出现这种情况时,我们可以考虑…

  • 探秘Java中的String、StringBuilder以及StringBuffer

    探秘Java中的String、StringBuilder以及StringBuffer探秘Java中String、StringBuilder以及StringBuffer相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问到的地方,今天就来和大家一起学习一

  • Bozz Nuster_Collectivum XXVIII

    Bozz Nuster_Collectivum XXVIII这篇文章主要讲的是在Libprotobuf-mutator与LibFuzzer联合使用的基础上,加上custommutator功能。首先需要明确的是为什么要这么做,那么假设b字段只有为”FUZZ”或”PWN”两个字符的时候才能进入下一个程序分支的情况,当然LibFuzzer也可以在代码覆盖率的加持下进入下一个程序分支,但如果你通过逆向的方式已经知道了这个关键点,难道还需要等LibFuzzer跑出这两个字符串吗?

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号