springMVC+Mybatis(SSM)手动获得当前SqlSessionFactory问题

springMVC+Mybatis手动获得sessionFactory问题

  • 需求场景(spring+mybatis,如何在程序中获得当前sqlsessionfactory)
  • 解决方法

需求场景(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();
			}
		}

你可能感兴趣的:(SSM,Mybatis)