0
点赞
收藏
分享

微信扫一扫

持续总结中!2024年面试必问 20 道 Redis面试题(六)

乐百川 2024-05-26 阅读 8
1.介绍和使用

Ø  SqlSession:代表Java程序和数据库之间的会话。(HttpSession是Java程序和浏览器之间的会话)

Ø  SqlSessionFactory:是“生产”SqlSession的“工厂”。

Ø  工厂模式:如果创建某一个对象,使用的过程基本固定,就可以把创建这个对象的相关代码封装到一个“工厂类”中,以后都使用这个工厂类来“生产”所需要的对象。

//1.获取核心配置文件的输入流
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
//2.获取SqlSessionFactoryBuilder对象
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
//3.获取SqlSessionFactory对象
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
//4.获取SqlSession对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//5.获取UserMapper的代理实现类对象
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
//6.调用mapper接口中的方法,实现添加用户信息的功能
int result = mapper.insertUser();
//7.输出
System.out.println("结果"+result);
//8.提交事务
sqlSession.commit();
//9.关闭资源
sqlSession.close();
inputStream.close();
2.简化1

(省略步骤8)

        //4.获取SqlSession对象(能自动提交)
SqlSession sqlSession = sqlSessionFactory.openSession(true);
3.简化2

(1)先创建SqlSessionUtil

public class SqlSessionUtil {
public static SqlSession getSqlSession(){
//1.获取核心配置文件的输入流
InputStream inputStream = null;
SqlSession sqlSession =null;
try {
inputStream = Resources.getResourceAsStream("mybatis-config.xml");
//2.获取SqlSessionFactoryBuilder对象
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
//3.获取SqlSessionFactory对象
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
//4.获取SqlSession对象(能自动提交)
sqlSession = sqlSessionFactory.openSession(true);
} catch (IOException e) {
e.printStackTrace();
}
return sqlSession;
}
}

(2)Test

//1.获取SqlSession对象
SqlSession sqlSession = SqlSessionUtil.getSqlSession();
//2.获取UserMapper的代理实现类对象
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
//3.调用mapper接口中的方法,实现添加用户信息的功能
int result = mapper.insertUser();
//4.输出
System.out.println("结果"+result);
//5.关闭资源
sqlSession.close();
举报

相关推荐

0 条评论