MyBatis相应API

MyBatis相应API

1. SqlSessionFactoryBuilder(SqlSession工厂构建器):

  • 常用API: SqlSessionFactory build(InputStream inputStream)

    • 通过加载MyBatis核心文件的输入流的形式构建一个SqlSessionFactory对象

      • eg:

        String resource = "sqlMapConfig.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource)l;
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
        SqlSessionFactory factory = builder.build(inputStream);
        
        • Resources是一个工具类
          • 全类名: org.apache.ibatis.io.Resources
          • Resources类帮助你从类路径下, 文件系统或者一个webURL中加载资源文件
        • 上面的String resource = "sqlMapConfig.xml"是一个相对路径, 我们此时是使用的maven方式创建的项目, 所以此时加载资源文件的相对路径是在resource包下

2. SqlSessionFactory(SqlSession工厂对象):

  • SqlSessionFactory有多个方法创建SqlSession实例, 常用的有如下两个:
    1. openSession()
      • 会默认开启一个事物, 但事物不会自动提交, 也就意味着需要手动提交该事物, 更新操作数据才会持久化到数据库中
    2. openSession(boolean autoCommit)
      • 参数是否为自动提交, 如果设置为true, 那么就不需要手动提交事物
其实openSession()方法底层就是调用的openSession(false)

3. SqlSession会话对象

  • SqlSession实例在MyBatis中是非常强大的一个类, 在这里你会看到所有执行语句的方法, 提交和回滚事物的方法, 以及获取映射器实例的方法

    ①. 执行语句的方法主要有:
    1. <T> T selectOne(String statement, Object parameter)
      
      • 查询一条结果
    2. <E> List<E> selectList(String statement, Object parameter) 
      
    3. int insert(String statement, Object parameter)
      
    4. int update(String statement, Object parameter)
      
    5. int delete(String statement, Object parameter)
      
    ②. 操作事物的主要方法有:
    1. void commit()
      
    2. void rollback()
      

补充:

以流的方式加载文件的几种方式:

  1. this.getClass().getClassLoader().getResourceAsStream(String path)
  2. ServletContext.getResourceAsStream(String path)
    • ServletContext类接口在Javax.servlet包下, 其实现类是由各大服务器厂商提供的, 我们目前只需过tomcat服务器厂商提供的ServletContext接口的实现类
  3. Resources.getResourceAsStream(String path)
    • Resources是一个工具类, 是MyBatis提供的一个工具类, 是org.apache.ibatis.io包下的
      • 注意: MyBatis和tomcat都是apache旗下的产品
      • ibatis是MyBatis的前身, 就和java的前身是oak一样
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值