com.xiaoleilu.hutool.db
类 SqlRunner

java.lang.Object
  继承者 com.xiaoleilu.hutool.db.SqlExecutor
      继承者 com.xiaoleilu.hutool.db.SqlConnRunner
          继承者 com.xiaoleilu.hutool.db.SqlRunner

public class SqlRunner
extends SqlConnRunner

SQL执行类
通过给定的数据源执行给定SQL或者给定数据源和方言,执行相应的CRUD操作

作者:
Luxiaolei

构造方法摘要
SqlRunner(DataSource ds)
          构造,从DataSource中识别方言
SqlRunner(DataSource ds, Dialect dialect)
          构造
SqlRunner(DataSource ds, String driverClassName)
          构造
 
方法摘要
 int count(Entity where)
          结果的条目数
static SqlRunner create(DataSource ds)
          创建SqlRunner
会根据数据源连接的元信息识别目标数据库类型,进而使用合适的数据源
static SqlRunner create(DataSource ds, Dialect dialect)
          创建SqlRunner
static SqlRunner create(DataSource ds, String driverClassName)
          创建SqlRunner
 int del(Entity where)
          删除数据
 int execute(String sql, Object... params)
          执行非查询语句
语句包括 插入、更新、删除
 int[] executeBatch(String sql, Object[]... paramsBatch)
          批量执行非查询语句
 Long executeForGeneratedKey(String sql, Object... params)
          执行非查询语句
语句包括 插入、更新、删除
<T> T
find(Collection<String> fields, Entity where, RsHandler<T> rsh)
          查询
 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)
          查询
 int update(Entity record, Entity where)
          更新数据
 
从类 com.xiaoleilu.hutool.db.SqlConnRunner 继承的方法
count, del, find, insert, page, update
 
从类 com.xiaoleilu.hutool.db.SqlExecutor 继承的方法
execute, executeBatch, executeForGeneratedKey, query
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

SqlRunner

public SqlRunner(DataSource ds)
构造,从DataSource中识别方言

参数:
ds - 数据源

SqlRunner

public SqlRunner(DataSource ds,
                 Dialect dialect)
构造

参数:
ds - 数据源
dialect - 方言

SqlRunner

public SqlRunner(DataSource ds,
                 String driverClassName)
构造

参数:
ds - 数据源
driverClassName - 数据库连接驱动类名,用于识别方言
方法详细信息

create

public static SqlRunner create(DataSource ds)
创建SqlRunner
会根据数据源连接的元信息识别目标数据库类型,进而使用合适的数据源

参数:
ds - 数据源
返回:
SqlRunner

create

public static SqlRunner create(DataSource ds,
                               Dialect dialect)
创建SqlRunner

参数:
ds - 数据源
dialect - 方言
返回:
SqlRunner

create

public static SqlRunner create(DataSource ds,
                               String driverClassName)
创建SqlRunner

参数:
ds - 数据源
driverClassName - 数据库连接驱动类名
返回:
SqlRunner

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


Copyright © 2014. All rights reserved.