SqlSession到底是什么呢?

欣喜 MyBatis 发布时间:2024-01-17 15:40:50 阅读数:4200 1
下文笔者讲述SqlSession的简介说明,如下所示

SqlSession简介说明

SqlSession是MyBatis的关键对象
   是运行持久化操作的对象
   类似于JDBC中的Connection

 是应用程序与持久存储层之间执行交互操作的一个单线程对象
   也是MyBatis执行持久化操作的关键对象。

SqlSession对象
   完全包含以数据库为背景的所有执行SQL操作的方法
    底层封装JDBC连接
    可用SqlSession实例来直接运行已映射的SQL语句 

每个线程都应该有它自己的SqlSession实例
   SqlSession的实例不能被共享
     也是线程不安全的
==============================================    
不能将SqlSession 实例的引用放在一个类的静态字段甚至是实例字段中
也绝不能将SqlSession实例的引用放在任何类型的管理范围中

如:
  Serlvet当中的HttpSession 对象中
    使用完SqlSession之后关闭Session很重要
      应该确保使用finally块来关闭它
==============================================

SqlSession常用方法如下

(1)int insert(String statement) 
     插入方法,
     参数statement是在配置文件中定义的<insert.../>元素的id
      返回执行SQL语句所影响的行数

(2)int insert(String statement,Object parameter)
      插入方法
      参数statement是在配置文件中定义的<insert.../>元素的id
       parameter是插入所需的参数,通常是对象或者Map
      返回执行SQL语句所影响的行数

(3)int update(String statement) 
     更新方法
       参数statement是在配置文件中定义的<update.../>元素的id
      返回执行SQL语句所影响的行数

(4)int update(String statement,Object parameter)
      更新方法
         参数statement是在配置文件中定义的<update.../>元素的id
         parameter 是插入所需的参数
          通常是对象或者Map
         返回执行SQL语句所影响的行数

(5)int delete(String statement) 
       删除方法
           参数statement是在配置文件中定义的<delete.../>元素的id
          返回执行SQL 语句所影响的行数

(6)int delete(String statement,Object parameter)
       删除方法
           参数statement 是在配置文件中定义的<delete.../>元素的id
             parameter 是插入所需的参数
             通常是对象或者Map
             返回执行SQL语句所影响的行数

(7)<T> T selectOne(String slatement)
        查询方法
            参数statement是在配置文件中定义的<select.../>元素的id
            返回执行SQL语句查询结果的泛型对象
            通常查询结果只有一条数据时才使用

(8)<T> T selectOne(String statement,Object parameter)
         查询方法
            参数statement是在配置文件中定义的<select.../>元素的id
               parameter是查询所需的参数
               通常是对象或者Map
               返回执行SQL语句查询结果的泛型对象
               通常查询结具只有一条数据时才使用。

(9)<E> list<E> selectList(String statemenl)
          查询方法
             参数是在配置文件中定义的<select.../>素的id
             返回执行SQL话句查询结果的泛型对象的集合

(10)<E> List<E> selectList(String statement,Object parameter)
           查洵方法
               参数statement是在配置文件中定义的<select../>元素的id
                parameter 是查询所需的参数
              通常是对象或者Map
               返回运行SQL语句查询结果的泛型对象的集合

(11)<E> List<E> selectList(String statement,Object parameter,RowBounds rowBounds)
         查询方法
             参数statement是在配置文件中定义的<select.../>元素的id
               parameter是查询所需的参数
                通常是对象或Map,RowBounds对象用于分页
               它的两个属性:
                    offset指查询的当前页数; 
                    limit指当前页显示多少条数据
                    返回执行SQL语句查询结果的泛型对象的集合

(12)<K,V> Map<K,V> selectMap(String statement,String mapKey) 
         查询方法
            参数statement是在配置文件中定义的<select.../>元素的id
               mapKey是返回数据的其中一个列名
               运行SQL语句查询结果将会被封装成一个Map集合返回
               key就是参数mapKey传入的列名,value 是封装的对象。

(13)<K,V> Map<K,V> selectMap(String statement,0bject parameler,Sting mapKey)
          查询方法
            参数statement是在配置文件中定义的<select.../>元素的id
               parameter是查询所需的参数
               通常是对象或者Map,mapKey 是返回数据的其中一个列名
                运行SQL语句查询结果将会被封装成一个Map集合返回
                key就是参数mapKey传入的列名
                value是封装的对象

(14)<K,V> Map<K,V>selectMap(Sting statement,Object parameter,Sting mapKey,RowBounds rowBounds)
         查询方法
             参数statement 是在配置文件中定义的<select.../>元素的id
                parameter 是否询所需的参数
               通常是对象或者Map,mapKey 是返回数据的其中一个列名
              RowBounds 对象用于分页
              执行SQL 语句查询结果将会被封装成一个Map集合返回
               key就是参数mapKey传入的列名,value 是封装的对象。

(15)void select(String statement,ResultHandler handler)
         查询方法
             参数statement是在配置文件中定义的<select../>元素的id
            ResultHandler对象用来处理查询返回的复杂结果集,通常用于多表查询。

(16)void select(String statement,Object parameter,ResultHander handler)
         查询方法
             参数statement是在配置文件中定义的<select../>元素的id
               parameter 是查询所需的参数,通常是对象或者Map
               ResultHandler对象用来处理查询返回的复杂结果集
               通常用于多表查询

(17)void select(String statement,Object parameter,RowBounds rowBounds,ResultHandrhandler)
       查询方法
              参数statement是在配置文件中定义的<selec.../>元素的id 
              查询所需的参数
                通常是对象或者Map,RowBounds 对象用于分页,parameter
               ResultHandler对象用来处理查询返回的复杂结果集,通常用于多表查询。

(18)void commit()。提交事务。

(19)void rollback()。回滚事务。

(20)void close()。关闭SqlSession对象。

(21)Connection getConnection()。获得JDBC的数据库连接对象。

(22)<T> T getMapper(Class<T> type)。
          返回mapper接口的代理对象
           该对象关联了SqlSession对象
           开发者可通过该对象直接调用方法操作数据库
         参数type是Mapper的接口类型 
 
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaFramework/MyBatis/202401/7689.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者