springMVC+Mybatis手动获得sessionFactory问题
需求场景(spring+mybatis,如何在程序中获得当前sqlsessionfactory)
我的项目用的是Spring+SpringMVC+Mybatis(SSM)框架 并使用注解方式配置。需要在一个工具类中执行sql操作。就想着怎么手动获得SqlSessionFactory让后执行sql。
解决方法
WebApplicationContext context = ContextLoader.getCurrentWebApplicationContext();
SqlSessionFactory factory=(SqlSessionFactory) context.getBean("sqlSessionFactory");
SqlSession session= factory.openSession();
//Connection conn=session.getConnection();
SqlSession session=null;
try {
session = factory.openSession();
//Connection conn=session.getConnection();
ScoreLogDao dao=session.getMapper(ScoreLogDao.class);
dao.insertLog(log);
} finally {
if(session!=null){
session.close();
}
}