- 首先要有一个mybatis的配置文件mybatis-config.xml,这个文件可以去官方文档里找(我没找过)
- 用getResourceAsStream这个流读取这个配置文件
SqlSessionFactoryBuilder.build(流),这样就会创建一个SqlSessionFactory类 - 用SqlSessionFactoryr这个类的openSession()方法就可以得到这个SqlSession
- 然后SqlSession用getMapper(类名.class)就可以得到了实现类对象
下面是封装了这个sqlSessionFactory对象
private static SqlSessionFactory sqlSessionFactory;
public static SqlSessionFactory getSqlSessionFactory(){
if(sqlSessionFactory == null){
InputStream inputStream = null;
try {
inputStream = Resources.getResourceAsStream("mybatis-config.xml");
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException(e.getCause());
}
}
return sqlSessionFactory;
}
public static SqlSession openSession() {
return openSession(false);
}
public static SqlSession openSession(boolean autoCommit) {
return getSqlSessionFactory().openSession(autoCommit);
}
然后调用这个类的方法就能得到sqlsession对象
这个工厂对象还可以指定我们要根据那个环境配置这个工厂
在配置文件中有environments标签,可以配置不同的环境,再build这个方法的第二个参数中加上这个environment的id就行了,build这个方法重载了
这是可以切换环境的代码
cartSqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream, "shoppingcart");
这是在外面通过我们封装的工具类生成sqlsession对象创建mapper实现类的代码
SqlSession openSession = MyBatisSqlSessionFactory.openSession();
CustomerMapper mapper = openSession.getMapper(CustomerMapper.class);
感觉自己写的好乱,感觉只有自己明白自己在干嘛,哈哈哈,我以后会好好写的
版权声明:本文为weixin_42495807原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。