mybatis入门02:Mybatis核心文件配置

news2024/10/6 5:56:17

目录

2.1 MyBatis核心配置文件层级关系

2.2MyBatis常用配置解析

         1.environments标签

2.mapper标签

3.properties标签

4.typeAlisases标签

2.3 Mybatis相应的API

1.SqlSessionFactory工厂构造器SqlSessionFactoryBuilder

2.SqlSession工厂对象SqlSessionFactory

 3.SqlSession会话对象


2.1 MyBatis核心配置文件层级关系


configuration配置
properties属性
settings设置
typeAliases类型别名
typeHandlers类型处理器
objectFactory对象工厂
plugins插件
environments杯境
  .environment环境变量
     ·transactionManager事务管理器
     ·dataSource数据源
databaseldProvider数据库厂商标示识
mappers映射器

2.2MyBatis常用配置解析
1.environments标签

 其中,事务管理器(transactionManager)类型有两种:
JDBC:这个配置就是直接使用了JDBC的提交和回滚设置,它依赖于从数据源得到的连接来管理事务作用域。
MANAGED:这个配置几乎没做什么。它从来不提交或回滚一个连接,而是让容器来管理事务的整个生命周期(比如EE应用服务器的上下文)。默认情况下它会关闭连接,然而一些容器并不希望这样,因此需要将closeConnection属性设置为false来阻止它默认的关闭行为。
其中,数据源(dataSource)类型有三种
·UNPOOLED:这个数据源的实现只是每次被请求时打开和关闭连接。
POOLED:这种数据源的实现利用"池”的概念将DBC连接对象组织起来。
JNDl:这个数据源的实现是为了能在如EJB或应用服务器这类容器中使用,容器可以集中或在外部配置数据源,然后放置一个JNDI上下文的引用。

2.mapper标签


该标签的作用是加载映射的,加载方式有如下几种:
·使用相对于类路径的资源引用,例如:<mapper resource="org/mybatis/,builder/AuthorMapper..xml"/>
使用完全限定资源定位符(URL),例如:<mapper url="file:/Nar/mappers/,AuthorMapper.xml"/>
使用映射器接口实现类的完全限定类名,例如:<mapper class=:"org.mybatis.builder.AuthorMapper"/>
将包内的映射器接口实现全部注册为映射器,例如:<package name:="org.mybatis.builder“/>

3.properties标签

实际开发中,习惯将数据源配置信息抽取成一个properties文件,该标签可以加载外配置的properties文件。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<!--数据源环境-->
<configuration>
    <properties resource="jdbc.properties"></properties>
</configuration>

4.typeAlisases标签

类型别名  配置设置如下

<configuration>
    <typeAliases>
        <typeAlias type="com.hzw.domin.User" alias="user"></typeAlias>
    </typeAliases>
</configuration>

使用

<!--修改操作-->
<select id="update" parameterType="user">
    update user set username=#{username},password=#{password} where id=#{id}
</select>

2.3 Mybatis相应的API

1.SqlSessionFactory工厂构造器SqlSessionFactoryBuilder

常用API:SqlSessionFactoryBuilder().build(resourceAsStream)

通过加载mybatis的核心文件的输入流的形式来构建一个SqlSessionFactory对象

 

       //获取核心配置文件
        InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
        //获取Session工厂对象
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        //获取session会话对象
        SqlSession sqlSession = sqlSessionFactory.openSession();

2.SqlSession工厂对象SqlSessionFactory

 3.SqlSession会话对象

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/84363.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

实时监控网络流量,精准辨别网络性能瓶颈

网络流量反映网络运作状态&#xff0c;是辨别网络运行是否正常的关键指标&#xff0c;通过对网络流量进行监测不仅能反映交换机、路由器等设备的工作状态&#xff0c;更能体现整个网络资源的运行性能。同时&#xff0c;用户在网络中的行为可以通过其承载的流量动态来展现&#…

使用个从版gitee时向远程库push修改后内容时报remote: error: File: xxx 129.03 MB, exceeds 100.00 MB

1、报错时截图如下&#xff08;我以下所有命令都是在Git Bash中执行的&#xff09;&#xff1a; 这是先前git push报的提示&#xff0c;明显说LFS&#xff08;即large file system&#xff0c;此处大文件应该就是指过超过100M的单一文件&#xff09;仅仅针对企业版gitee用户才…

.Net 7 CLR和ILC编译函数过程

楔子 由于甲方的需求&#xff0c;随着研究深入&#xff0c;发现CLR编译函数与ILC编译是两种不同的截然方式&#xff0c;除了JIT部分编译一样&#xff0c;其它部分貌似完全不一。 本篇来梳理这些东西。QQ:676817308。wx公众号&#xff1a;江湖评谈 示例&#xff1a; 作为例子…

OH----基于RK3568的AB分区功能,bsp部分

1、背景&#xff1a; OH master 主线 &#xff0c;RK3568平台添加AB分区功能&#xff0c;uboot部分完成对ab分区标志位的读取解析&#xff0c;并加载和进入对应的分区&#xff0c;如&#xff1a; kernel_a 或者 kernel_b 2、环境&#xff1a; rk3568 Uboot代码下载&#xff…

股票L2接口和L1接口有什么差距?

股票L2数据的主要特点是能看到资金流向和十档买卖盘&#xff0c;比L1数据更加清晰和全面。 但是就现在的股票市场而言&#xff0c;也不能全部听信L2数据。 很多数据也是庄家做出来的&#xff0c;就是为了给散户看&#xff0c;所以全面分析基本面和技术面才是最重要的。 而且…

[附源码]计算机毕业设计个人博客系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; Springboot mybatis MavenVue等等组成&#xff0c;B/S模式…

【CSS】多行文字保持垂直居中,移动端布局,grid布局,居中总结

❤️ Author&#xff1a; 老九 ☕️ 个人博客&#xff1a;老九的CSDN博客 &#x1f64f; 个人名言&#xff1a;不可控之事 乐观面对 &#x1f60d; 系列专栏&#xff1a; 文章目录多行文字垂直居中方法一方法2方法3方法四移动端布局viewport标签典型的手机网页设计grid布局grid…

基于C语言+SQL Server2008实现(控制台)图书管理系统【100010024】

第1章 概述 1.1项目背景 随着科技的发展&#xff0c;尤其是计算机技术的迅猛发展&#xff0c;图书馆管理的问题从以往的人工管理&#xff0c;到现在的电脑化&#xff0c;系统化&#xff0c;是对图书馆管理方法的质的飞跃&#xff0c;这些技术不仅让图书馆管理变得更加方便、快…

【Java EE初阶】创建线程的五种方式

文章目录1. 继承Tread,重写run()2. 实现Runnable接口&#xff0c;重写run()3. 使用匿名内部类&#xff0c;继承Thread4. 使用匿名内部类&#xff0c;实现Runnable5. 使用lambda表达式1. 继承Tread,重写run() 示例&#xff1a;pandas 是基于NumPy 的一种工具&#xff0c;该工具…

Kafka系列之:使用Kafka Manager实现leader分区平衡和broker节点上分区平衡

Kafka系列之:使用Kafka Manager实现leader分区平衡和broker节点上分区平衡 一、需求背景二、leader分区不平衡三、实现leader分区不平衡四、分区在节点不平衡五、实现分区在节点平衡一、需求背景 kafka节点扩容,分区不平衡现在需要leader分区平均分配在每个节点上同时分区副本…

基于Python+Django的项目申报审核平台系统

在各学校的教学过程中&#xff0c;django项目校内申报平台系统是一项非常重要的事情。随着计算机多媒体技术的发展和网络的普及。采用当前流行的B/S模式以及3层架构的设计思想通过Python技术来开发此系统的目的是建立一个配合网络环境的django高校学生项目校内申报平台&#xf…

OMV 5.6入坑指南(一)-openmediavalut 5.6安装

一、DIY NAS服务器 百度网盘里攒了一堆电影、电视剧&#xff0c;想下载到电脑里&#xff0c;买了个4T硬盘&#xff0c;然后发现不够用&#xff0c;然后又买了个还是不够用&#xff0c;然后自己又不想开电脑看电视电影&#xff0c;平时看电视电影都是在ipad上看的&#xff0c;台…

可视化管线

VTK中的可视化管线可用于读取或创建数据、分析和创建此数据的派生版本&#xff0c;并将数据写入磁盘或将其传递给渲染引擎进行显示。例如&#xff0c;您可以从磁盘读取一个三维数据体&#xff0c;对其进行处理以创建一组三角形&#xff0c;这些三角形通过该数据体表示一个等值曲…

全栈Jmeter接口测试(六):json断言元件,jmeter参数化实现

Jmeter(12)&#xff1a;json断言元件 json断言元件介绍&#xff1a; json断言元件与响应断言元件的功能类型&#xff0c;它只针对响应正文为json数据格 式的内容进行断言功能。 添加路径&#xff1a;右击http请求——断言——json断言 如下图展示&#xff1a; json断言元件字…

JAVA毕业设计——基于SpringBoot和thymeleaf的疫情信息管理系统 (源码+数据库)

github代码地址 https://github.com/ynwynw/CoronavirusManage-public 毕业设计所有选题地址 https://github.com/ynwynw/allProject 基于SpringBoot及thymeleaf搭建的疫情信息管理系统 (源码数据库)034 一、系统介绍 疫情信息管理系统应当具备两种对象&#xff0c;疫情管理…

【论文精读10】MVSNet系列论文详解-PatchmatchNet

PatchmatchNet&#xff0c;论文名为&#xff1a;PatchmatchNet: Learned Multi-View Patchmatch Stereo&#xff0c;本篇论文结合了较多过往文章的优化思想和类似模块&#xff0c;因此可能要更复杂一些。 本文是MVSNet系列的第10篇&#xff0c;建议看过【论文精读1】MVSNet系列…

【嵌入式linux】修改网口MAC地址

使用带有网络功能的设备时&#xff0c;如果局域网内可能会连接很多台设备&#xff0c;为了保证网络通信正常&#xff0c;要确保每台设备的硬件MAC地址都不相同&#xff0c;一般在批量生产的时候可以根据产品序列号(sn号)固化每台设备的MAC地址&#xff0c;防止出现MAC冲突的问题…

【云原生】Prometheus PromQL讲解与实战操作

文章目录一、PromQL介绍二、四种指标类型1&#xff09;counter&#xff08;计数器&#xff09;2&#xff09;gauge &#xff08;仪表类型&#xff09;3&#xff09;Histogram&#xff08;直方图类型&#xff09; 和 Summary&#xff08;摘要类型&#xff09;三、表达式四种数据…

8Manage PMO:多项目管理工作经验分享

在现代企业日常项目管理中&#xff0c;同时开展不同业务项目可说已经是“家常便饭”&#xff0c;项目经理手上开展多个项目&#xff0c;便需要兼顾各项目的人力资源、进度、问题、风险等。而在这种情况下&#xff0c;面对多项目管理该如何有效进行管理&#xff0c;有没有多项目…

换天空的几个方式技巧

1.魔棒工具 现将图层复制一层&#xff0c;用魔棒工具选中被复制的一层图中的天空将他删除。&#xff08;如果天空有一些未选中的位置&#xff0c;那么我们按住shift用鼠标去点击需要删除的位置他就会一起选中&#xff09; 这个就是我们删除之后的效果。 然后我们打开一张需要加…