Skip to content

Instantly share code, notes, and snippets.

@CoderInOne
Created April 25, 2019 09:45
Show Gist options
  • Save CoderInOne/d3433ba81b1d17933c3c7f5540884c32 to your computer and use it in GitHub Desktop.
Save CoderInOne/d3433ba81b1d17933c3c7f5540884c32 to your computer and use it in GitHub Desktop.
MyBatis simple session demo
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.transaction.TransactionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.transaction.SpringManagedTransactionFactory;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternResolver;
import javax.sql.DataSource;
public class MyBatisManager {
public static SqlSessionFactory loadSqlSessionFactory(DataSource dataSource) throws Exception {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource);
TransactionFactory transactionFactory = new SpringManagedTransactionFactory();
sqlSessionFactoryBean.setTransactionFactory(transactionFactory);
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
Resource[] resources = resolver.getResources("classpath:mybatis/mappers/*.xml");
sqlSessionFactoryBean.setMapperLocations(resources);
return sqlSessionFactoryBean.getObject();
}
public static SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) {
return new SqlSessionTemplate(sqlSessionFactory);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment