From ff487c3fb657217ff0f14982c9f71b0e62690e4f Mon Sep 17 00:00:00 2001 From: Kane Wang Date: Thu, 27 Jul 2023 18:07:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=9D=E5=AD=98=E8=BF=9B=E5=BA=A6=EF=BC=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cpic/xim/mybatis/utils/MybatisUtils.java | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/utils/MybatisUtils.java diff --git a/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/utils/MybatisUtils.java b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/utils/MybatisUtils.java new file mode 100644 index 0000000..18866cc --- /dev/null +++ b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/utils/MybatisUtils.java @@ -0,0 +1,52 @@ +/* + * @Author: Kane + * @Date: 2023-07-27 17:22:55 + * @LastEditors: Kane + * @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/utils/MybatisUtils.java + * @Description: mybatis的工具集合 + * + * Copyright (c) ${2022} by Kane, All Rights Reserved. + */ +package com.cpic.xim.mybatis.utils; + +import java.io.IOException; +import java.io.InputStream; +import java.util.HashMap; +import org.apache.ibatis.io.Resources; +import org.apache.ibatis.session.SqlSession; +import org.apache.ibatis.session.SqlSessionFactory; +import org.apache.ibatis.session.SqlSessionFactoryBuilder; + +public class MybatisUtils +{ + private static HashMap SessionMap = new HashMap<>(); + + /** + * + * @param configFile + * @return + * @throws IOException + */ + public static SqlSession getSqlSession(String configFile ) + throws IOException + { + // 根据配置文件的路径,查找是否已经创建了对应的session + SqlSession session = SessionMap.get(configFile); + + // 找到就直接返回 + if ( session != null ) + { + return session; + } + + // 没找到就创建一个 + InputStream configIS = Resources.getResourceAsStream(configFile); + SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(configIS); + session = factory.openSession(); + + // 保存 + SessionMap.put(configFile, session); + + return session; + } +} \ No newline at end of file