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); // 参数集合