From 9483b49a208494cd4060c224bb1696bf6f273044 Mon Sep 17 00:00:00 2001 From: Kane Wang Date: Sun, 30 Jul 2023 19:03:53 +0800 Subject: [PATCH] =?UTF-8?q?mybatisUtils=E5=8A=A0=E5=85=A5=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E9=BB=98=E8=AE=A4=E5=8F=82=E6=95=B0=E7=9A=84=E5=B7=A5?= =?UTF-8?q?=E5=8E=82=E5=87=BD=E6=95=B0=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cpic/xim/mybatis/utils/MybatisUtils.java | 28 +++++++++++++++++-- .../archievement/DepartmentArchievement.java | 5 +--- 2 files changed, 27 insertions(+), 6 deletions(-) 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 index b1a1527..8b1039c 100644 --- 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 @@ -21,13 +21,14 @@ public class MybatisUtils { private static HashMap SessionMap = new HashMap<>(); private static String DEFAULT_CONFIGFILE = "mybatis/mybatis-config.xml"; + /** * * @param configFile * @return * @throws IOException */ - public static SqlSession getSqlSession(String configFile = "mybatis/mybatis-config.xml" ) + public static SqlSession getSqlSession(String configFile ) throws IOException { // 根据配置文件的路径,查找是否已经创建了对应的session @@ -48,5 +49,28 @@ public class MybatisUtils SessionMap.put(configFile, session); return session; - } + } + + public static SqlSession getSqlSession() + throws IOException + { + // 根据配置文件的路径,查找是否已经创建了对应的session + SqlSession session = SessionMap.get(DEFAULT_CONFIGFILE); + + // 找到就直接返回 + if ( session != null ) + { + return session; + } + + // 没找到就创建一个 + InputStream configIS = Resources.getResourceAsStream(DEFAULT_CONFIGFILE); + SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(configIS); + session = factory.openSession(); + + // 保存 + SessionMap.put(DEFAULT_CONFIGFILE, session); + + return session; + } } \ No newline at end of file diff --git a/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/utils/archievement/DepartmentArchievement.java b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/utils/archievement/DepartmentArchievement.java index e6e8a91..eaf7a30 100644 --- a/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/utils/archievement/DepartmentArchievement.java +++ b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/utils/archievement/DepartmentArchievement.java @@ -22,9 +22,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; public class DepartmentArchievement { - // mybatis配置文件路径 - private static String mybatisConfigFile = "mybatis/mybatis-config.xml"; - // log4j2 private static Logger logger = LoggerFactory.getLogger(DepartmentArchievement.class); @@ -71,7 +68,7 @@ public class DepartmentArchievement try { - SqlSession session = MybatisUtils.getSqlSession( mybatisConfigFile ); + SqlSession session = MybatisUtils.getSqlSession(); ArchievementMapper mapper = session.getMapper(ArchievementMapper.class); // 参数集合