mybatisUtils加入使用默认参数的工厂函数。

This commit is contained in:
Kane Wang 2023-07-30 19:03:53 +08:00
parent e436fbf89e
commit 9483b49a20
2 changed files with 27 additions and 6 deletions

View File

@ -21,13 +21,14 @@ public class MybatisUtils
{
private static HashMap<String, SqlSession> 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;
}
}

View File

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