com.xiaoleilu.hutool.db
类 Session

java.lang.Object
  继承者 com.xiaoleilu.hutool.db.Session
所有已实现的接口:
Closeable

public class Session
extends Object
implements Closeable

数据库SQL执行会话
一个会话只维护一个连接,推荐在执行完后关闭Session,避免重用
本对象并不是线程安全的,多个线程共用一个Session将会导致不可预知的问题

作者:
loolly

构造方法摘要
Session(Connection conn)
          构造
Session(DataSource ds)
          构造
 
方法摘要
 void beginTransaction()
          开始事务
 void close()
           
 void commit()
          提交事务
 int count(Entity where)
          结果的条目数
static Session create(Connection conn)
          创建会话
static Session create(DataSource ds)
          创建会话
 int del(Entity where)
          删除数据
 int execute(String sql, Object... params)
          执行非查询语句
语句包括 插入、更新、删除
 int[] executeBatch(String sql, Object[]... paramsBatch)
          批量执行非查询语句
 Long executeForGeneratedKey(String sql, Object... params)
          执行非查询语句
语句包括 插入、更新、删除
protected  void finalize()
           
<T> T
find(Collection<String> fields, Entity where, RsHandler<T> rsh)
          查询
 Connection getConn()
           
 SqlConnRunner getRunner()
           
 Long insert(Entity record)
          插入数据
<T> T
page(Collection<String> fields, Entity where, int page, int numPerPage, RsHandler<T> rsh)
          分页查询
<T> T
query(String sql, RsHandler<T> rsh, Object... params)
          查询
 void quietRollback()
          静默回滚事务
回滚事务
 void quietRollback(Savepoint savepoint)
          静默回滚到某个保存点,保存点的设置请使用setSavepoint方法
 void rollback()
          回滚事务
 void rollback(Savepoint savepoint)
          回滚到某个保存点,保存点的设置请使用setSavepoint方法
 void setConn(Connection conn)
           
 void setRunner(SqlConnRunner runner)
           
 Savepoint setSavepoint()
          设置保存点
 Savepoint setSavepoint(String name)
          设置保存点
 void setTransactionIsolation(int level)
          设置事务的隔离级别
Connection.TRANSACTION_NONE 驱动不支持事务
Connection.TRANSACTION_READ_UNCOMMITTED 允许脏读、不可重复读和幻读
Connection.TRANSACTION_READ_COMMITTED 禁止脏读,但允许不可重复读和幻读
Connection.TRANSACTION_REPEATABLE_READ 禁止脏读和不可重复读,单运行幻读
Connection.TRANSACTION_SERIALIZABLE 禁止脏读、不可重复读和幻读
 int update(Entity record, Entity where)
          更新数据
 
从类 java.lang.Object 继承的方法
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

Session

public Session(DataSource ds)
构造

参数:
ds - 数据源

Session

public Session(Connection conn)
构造

参数:
conn - 数据库连接对象
方法详细信息

create

public static Session create(DataSource ds)
创建会话

参数:
ds - 数据源

create

public static Session create(Connection conn)
创建会话

参数:
conn - 数据库连接对象

getConn

public Connection getConn()

setConn

public void setConn(Connection conn)

getRunner

public SqlConnRunner getRunner()

setRunner

public void setRunner(SqlConnRunner runner)

beginTransaction

public void beginTransaction()
                      throws SQLException
开始事务

抛出:
SQLException

commit

public void commit()
            throws SQLException
提交事务

抛出:
SQLException

rollback

public void rollback()
              throws SQLException
回滚事务

抛出:
Exception
SQLException

quietRollback

public void quietRollback()
静默回滚事务
回滚事务

抛出:
SQLException

rollback

public void rollback(Savepoint savepoint)
              throws SQLException
回滚到某个保存点,保存点的设置请使用setSavepoint方法

参数:
savepoint - 保存点
抛出:
SQLException

quietRollback

public void quietRollback(Savepoint savepoint)
                   throws SQLException
静默回滚到某个保存点,保存点的设置请使用setSavepoint方法

参数:
savepoint - 保存点
抛出:
SQLException

setSavepoint

public Savepoint setSavepoint()
                       throws SQLException
设置保存点

返回:
保存点对象
抛出:
SQLException

setSavepoint

public Savepoint setSavepoint(String name)
                       throws SQLException
设置保存点

参数:
name - 保存点的名称
返回:
保存点对象
抛出:
SQLException

setTransactionIsolation

public void setTransactionIsolation(int level)
                             throws SQLException
设置事务的隔离级别
Connection.TRANSACTION_NONE 驱动不支持事务
Connection.TRANSACTION_READ_UNCOMMITTED 允许脏读、不可重复读和幻读
Connection.TRANSACTION_READ_COMMITTED 禁止脏读,但允许不可重复读和幻读
Connection.TRANSACTION_REPEATABLE_READ 禁止脏读和不可重复读,单运行幻读
Connection.TRANSACTION_SERIALIZABLE 禁止脏读、不可重复读和幻读

参数:
level - 隔离级别
抛出:
SQLException

query

public <T> T query(String sql,
                   RsHandler<T> rsh,
                   Object... params)
        throws SQLException
查询

参数:
sql - 查询语句
rsh - 结果集处理对象
params - 参数
返回:
结果对象
抛出:
SQLException

execute

public int execute(String sql,
                   Object... params)
            throws SQLException
执行非查询语句
语句包括 插入、更新、删除

参数:
sql - SQL
params - 参数
返回:
影响行数
抛出:
SQLException

executeForGeneratedKey

public Long executeForGeneratedKey(String sql,
                                   Object... params)
                            throws SQLException
执行非查询语句
语句包括 插入、更新、删除

参数:
sql - SQL
params - 参数
返回:
主键
抛出:
SQLException

executeBatch

public int[] executeBatch(String sql,
                          Object[]... paramsBatch)
                   throws SQLException
批量执行非查询语句

参数:
sql - SQL
paramsBatch - 批量的参数
返回:
每个SQL执行影响的行数
抛出:
SQLException

insert

public Long insert(Entity record)
            throws SQLException
插入数据

参数:
record - 记录
返回:
主键
抛出:
SQLException

del

public int del(Entity where)
        throws SQLException
删除数据

参数:
where - 条件
返回:
影响行数
抛出:
SQLException

update

public int update(Entity record,
                  Entity where)
           throws SQLException
更新数据

参数:
record - 记录
返回:
影响行数
抛出:
SQLException

find

public <T> T find(Collection<String> fields,
                  Entity where,
                  RsHandler<T> rsh)
       throws SQLException
查询

参数:
fields - 返回的字段列表,null则返回所有字段
where - 条件实体类(包含表名)
rsh - 结果集处理对象
返回:
结果对象
抛出:
SQLException

page

public <T> T page(Collection<String> fields,
                  Entity where,
                  int page,
                  int numPerPage,
                  RsHandler<T> rsh)
       throws SQLException
分页查询

参数:
fields - 返回的字段列表,null则返回所有字段
where - 条件实体类(包含表名)
page - 页码
numPerPage - 每页条目数
rsh - 结果集处理对象
返回:
结果对象
抛出:
SQLException

count

public int count(Entity where)
          throws SQLException
结果的条目数

参数:
where - 查询条件
返回:
复合条件的结果数
抛出:
SQLException

close

public void close()
指定者:
接口 Closeable 中的 close

finalize

protected void finalize()
                 throws Throwable
覆盖:
Object 中的 finalize
抛出:
Throwable


Copyright © 2014. All rights reserved.