创建工具类之获取SqlSession

我们在编写后端程序时,每次想运行一个SQL语句,就需要创建一个SqlSession,因此我们可以封装一个方法,来简化我们的操作。

一般我们需要先在src/main/java下建立一个utils包,专门用来存放各种方法。后期我们还需要其他的工具类都可以在此地编写。然后写好下面代码:

public class MybatisUtils {private static SqlSessionFactory sqlSessionFactory = null;static {     //静态代码段try{Reader reader = Resources.getResourceAsReader("mybatis-config.xml");  //先创建一个流sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);     //读取配置文件,创建工厂} catch (IOException e) {e.printStackTrace();}}//整个过程只需要一个Sqlsession工厂,而每次进行SQL语句的执行,需要一个新的session。public static SqlSession getSession(){return sqlSessionFactory.openSession();   //用工厂创建session}
}

一般在执行时如下:

try (SqlSession session = MybatisUtils.getSession()) {// 执行 SQL 操作session.commit(); // 如果需要手动提交事务session.close();  //手动关闭
} catch (Exception e) {e.printStackTrace();
}

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

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

相关文章

ArchLinux VSCode 1.94.2无法安装or更新解决办法

此方法参考了这篇博客https://www.debugpoint.com/failed-connect-raw-githubusercontent-com-port-443/#google_vignette 某一次paru后,一直报错503什么的,在archlinux官网看到pacman安装的是个Open VSX版本的,是Arch官方的版本,…

Postman中的form-data 和 JSON 的区别

在使用 Postman 进行 API 测试时,form-data 和 JSON 是两种常用的请求体格式,它们有以下几个主要区别: 1. 数据格式 form-data: 主要用于表单数据的提交,适合文件上传和键值对的数据传递。数据以键值对的形式编码,类似…

【Vue3】将 Element Plus 引入 Vue3 项目

前言 在 Vue3 项目中使用 Element Plus 可以为项目提供丰富的 UI 组件和交互体验。下面将介绍如何将 Element Plus 引入 Vue3 项目中。 步骤 安装 Element Plus 首先需要通过 npm、yarn 或 pnpm 安装 Element Plus 包。可以选择其中一种方式进行安装。 # NPM $ npm install…

Centos7搭建minio对象存储服务器

Centos7搭建minio对象存储服务器 安装二进制程序配置服务文件 安装二进制程序 参考:https://segmentfault.com/q/1010000042181876 minio中国版:https://www.minio.org.cn/download.shtml#/linux # 下载二进制程序 wget https://dl.min.io/server/min…

机器人学 目录

目录 【机器人学】1-1.六自由度机器人运动学正解 【附MATLAB代码】 【机器人学】1-2. MATLAB机器人工具箱的安装与问题处理 【机器人学】1-3.六自由度机器人工作空间 【附MATLAB代码】 【机器人学】2-1.六自由度机器人运动学逆解【附MATLAB机器人逆解代码】 【机器人学】3…

从MySQL到OceanBase离线数据迁移的实践

本文作者:玉璁,OceanBase 生态产品技术专家。工作十余年,一直在基础架构与中间件领域从事研发工作。现负责OceanBase离线导数产品工具的研发工作,致力于为 OceanBase 建设一套完善的生态工具体系。 背景介绍 在互联网与云数据库技…

R实验——logistic回归、LDA、QDAKNN

数据集介绍: mpg,miles per gallon即油耗,这个数据集来自卡内基梅隆大学维护的StatLib库。1983年美国统计协会博览会使用了该数据集。这个数据集是对StatLib库中提供的数据集稍加修改的版本。根据Ross Quinlan(1993)在预测属性“mpg”中的使…

vuex模块化使用

正常使用: // src/store/index.jsimport Vue from vue; import Vuex from vuex;Vue.use(Vuex);export default new Vuex.Store({state: {count: 0, // 一个简单的状态示例},mutations: {increment(state) {state.count;},decrement(state) {state.count--;},},acti…

【Linux报错】为什么“userdel 某用户”,这个用户还存在于家目录中?

你删除一个用户,却在 /home/ 家目录下还看到该用户家目录文件,是因为: 使用 userdel 命令来删除一个用户:默认情况下,该用户的主目录(通常位于/home/username)不会被自动删除。这是因为userdel有…

超硬核!大模型算法岗面试必问100题,我说的,不信就来看看

大模型算法岗常见面试题100道 *一、基础篇* 1、目前主流的开源模型体系有哪些? Transformer体系:由Google提出的Transformer 模型及其变体,如BERT、GPT 等。PyTorch Lightning:一个基于PyTorch的轻量级深度学习框架,…

如何将 Docker 镜像的 tar 文件迁移到另一台服务器并运行容器

实验室项目共建人:周凌飞、武正乔、杨霄汉 特别鸣谢:bilibili 博主 老韩一米九、一堂 杨国帅 提供设备部署以及上线指导 本博客部分内容由kimi生成,鸣谢:吴润生 迭代生成式AI提示词思考模型 在 Docker 容器化的世界里&#xf…

弱口令与命令爆破+DVWA靶场+docker+ARL+Fofa+weakpass

关于弱口令与命令爆破、DVWA靶场、Docker、ARL、Fofa和weakpass,以下是一些关键信息: 弱口令与命令爆破:弱口令指的是容易被攻击者猜测或被破解工具破解的口令。例如,使用单字、家族名称、太短的密码或可预测的模式(如…

某科技——北京——国护蓝中研判岗

文章目录 所面试的公司:某科技所在城市:北京面试职位:国护蓝中研判岗面试过程: 面试官的问题:1、面试官先就是很常态化的让我做了一个自我介绍2、自我介绍不错,听你讲熟悉TOP10漏洞,可以讲下自己…

开源限流组件分析(三):golang-time/rate

文章目录 本系列前言提供获取令牌的API数据结构基础方法tokensFromDurationdurationFromTokensadvance 获取令牌方法reverseN其他系列API 令人费解的CancelAt是bug吗 取消后无法唤醒其他请求 本系列 开源限流组件分析(一):juju/ratelimit开源…

Java之继承抽象类用法实例(三十一)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【…

一次文件重写后,文件修改时间未发生变化的原因

昨天用python写了一个脚本,用于统计店铺的某些数据,然后将数据存储在文本里,定时每天早上执行。 昨天傍晚写完的,执行了一下,执行完成后,此时文本修改时间为2024-10-22 18:00。 早上来公司一看&#xff0…

git命令笔记(速查速查)

git命令功能总结 1.创建git的本地仓库2. 配置本地仓库(name和email地址)3. 工作区、版本库、暂存区、对象区3.1 add, commit3.2 打印提交日志3.2 修改文件 4.版本回退(git reset)5. 撤销修改(在push之前撤销)6.删除版本库中的文件…

SQL Injection | SQL 注入分类 —— 查询方式

关注这个漏洞的其他相关笔记:SQL 注入漏洞 - 学习手册-CSDN博客 在进行 SQL 注入攻击时,如果目标服务器的后端 SQL 查询不返回任何结果(即无回显),我们可能需要采用 SQL 盲注技术来进行进一步的测试。盲注是一种在无法…

SSM框架学习(七、MyBatis-Plus高级用法:最优化持久层开发)

目录 一、MyBatis-Plus快速入门 1.简介 2.快速入门 二、MyBatis-Plus核心功能 1.基于Mapper接口CRUD (1)Insert 方法 (2)Delete方法 (3)Update 方法 (4)Select方法 2.基于Serv…

用PHP写一个EACO(drc20)写一个和狗狗币,比特币,avax, bnb,eth,sol,usdt,等全球前30大数字货币的兑换去中心化小程序。

创建一个简单的PHP小程序,用于EACO(DRC20)与全球前30大数字货币(如狗狗币、比特币、AVAX、BNB、ETH、SOL、USDT等)进行去中心化兑换的功能,需要集成加密货币的API接口来获取实时汇率和执行兑换操作。以下是…