程序包 cn.benma666.sjzt

类 Db


public class Db extends BasicObject
数据库工具
基于BeetlSql和druid实现
date: 2017年5月31日
版本:
0.2
作者:
jingma
  • 字段详细资料

    • dbStyleMap

      public static Map<com.alibaba.druid.DbType,Class<?>> dbStyleMap
      数据库方言映射集合,可以将本系统引入的druid和beetlsql两大数据库工具关联起来
    • defaultNameConversion

      public static org.beetl.sql.clazz.NameConversion defaultNameConversion
      我的默认名称转换
  • 构造器详细资料

    • Db

      protected Db()
      Creates a new instance of Db.
    • Db

      public Db(String name, String url, String user, String pwd) throws SQLException
      直接创建数据库操作对象
      参数:
      name - 名称
      url - 数据库连接
      user - 数据库用户
      pwd - 数据库密码
      抛出:
      SQLException
    • Db

      public Db(String name, com.alibaba.druid.pool.DruidDataSource dataSource)
      使用已有的数据源创建数据库操作对象
      参数:
      name - 名称
      dataSource - 已有的数据源
    • Db

      public Db(String name, DataSource dataSource, String dbType)
      使用数据源创建数据库操作对象
      参数:
      name - 名称
      dataSource - beetlSql的数据源
      dbType - 数据库类型
  • 方法详细资料

    • use

      public static Db use() throws MyException
      取默认数据库操作对象
      抛出:
      MyException
    • useSqlManager

      public static org.beetl.sql.core.SQLManager useSqlManager() throws MyException
      获取默认sqlManager
      返回:
      默认beetlSql操作对象
      抛出:
      MyException
    • use

      public static Db use(String name)
      数据名称取数据库操作对象
      参数:
      name - 数据库名称
      返回:
      对应的数据库对象
    • useSqlManager

      public static org.beetl.sql.core.SQLManager useSqlManager(String name)
      获取sqlManager
      返回:
      指定的beetlSql操作对象
    • configDataSource

      public static void configDataSource(com.alibaba.fastjson.JSONObject sjzt, com.alibaba.druid.pool.DruidDataSource druidDataSource, String druidKey)
      配置数据源
      参数:
      sjzt - 数据载体
      druidDataSource - druid数据源
      druidKey - 配置key
    • testDb

      public static Result testDb(com.alibaba.fastjson.JSONObject sjzt)
      测试数据载体
      参数:
      sjzt - 数据载体
      返回:
      测试结果
    • testDb

      public static Result testDb(com.alibaba.fastjson.JSONObject yobj, boolean mmjm)
      测试数据库是否可用
      参数:
      yobj - 数据库对象
      mmjm - 是否密码加密
      返回:
      测试结果
    • isCz

      public static boolean isCz(String dbCode)
      判断数据源是否存在
      参数:
      dbCode - 数据库对象名称
      返回:
      是否存在
    • update

      public static int update(Db db, String sql, Object... params)
      执行更新语句
      参数:
      db - 数据库操作类
      sql - 要执行的预编译原生sql语句
      params - 参数
      返回:
      影响行数
    • update

      public static int update(Db db, String sqlTemplate, Map<String,Object> params)
      执行更新语句
      参数:
      sqlTemplate - sql模板
      params - 参数
      返回:
      影响行数
    • find

      public static List<com.alibaba.fastjson.JSONObject> find(Db db, String sql, Object... params)
      获取对象列表
      参数:
      db - 数据库操作类
      sql - 要执行的预编译原生sql语句
      params - 参数
      返回:
      查询结果列表
    • find

      public static List<com.alibaba.fastjson.JSONObject> find(Db db, String sqlTemplate, Map<String,Object> params)
      获取对象列表
      参数:
      db - 数据库操作类
      sqlTemplate - sql模板
      params - 参数
      返回:
      查询结果列表
    • findFirst

      public static com.alibaba.fastjson.JSONObject findFirst(Db db, String sql, Object... params)
      获取第一个对象
      参数:
      sql - 要执行的预编译原生sql语句
      params - 参数
      返回:
      查询结果
    • findFirst

      public static com.alibaba.fastjson.JSONObject findFirst(Db db, String sqlTemplate, Map<String,Object> params)
      获取第一个对象
      参数:
      sqlTemplate - sql模板
      params - 参数
      返回:
      查询结果
    • findMap

      public static Map<String,com.alibaba.fastjson.JSONObject> findMap(Db db, String keyName, String sql, Object... params)
      获取对象列表
      参数:
      keyName - key字段名称
      sql - 要执行的预编译原生sql语句
      params - 参数
      返回:
      结果列表基于指定的key转换为map
    • findMap

      public static Map<String,com.alibaba.fastjson.JSONObject> findMap(Db db, String keyName, String sqlTemplate, Map<String,Object> params)
      获取对象列表
      参数:
      keyName - key字段名称
      sqlTemplate - sql模板
      params - 参数
      返回:
      结果列表基于指定的key转换为map
    • queryStr

      public static String queryStr(Db db, String sql, Object... params)
      查询一个字符串
      参数:
      sql - 要执行的预编译原生sql语句
      params - 参数
    • queryStr

      public static String queryStr(Db db, String sqlTemplate, Map<String,Object> params)
      查询一个字符串
      参数:
      sqlTemplate - sql模板
      params - 参数
    • queryInt

      public static int queryInt(Db db, String sql, Object... params)
      查询一个数字
      参数:
      sql - 要执行的预编译原生sql语句
      params - 参数
    • queryInt

      public static int queryInt(Db db, String sqlTemplate, Map<String,Object> params)
      查询一个数字
      参数:
      sqlTemplate - sql模板
      params - 参数
    • listToMap

      public static <T extends Map> Map<String,T> listToMap(List<T> list, String keyName)
      列表转Map
      参数:
      list - 列表
      keyName - key字段名称
      返回:
      转换结果Map
    • listToMap

      public static Map<String,com.alibaba.fastjson.JSONObject> listToMap(com.alibaba.fastjson.JSONArray list, String keyName)
      JSONArray转Map
      参数:
      list - 列表
      keyName - key字段名称
      返回:
      转换结果Map
    • buildMap

      public static com.alibaba.fastjson.JSONObject buildMap(Object... params)
      将参数列表转换为Map,key默认为p+序号(1开始),如:p1、p2、p3
      参数:
      params - 参数列表
      返回:
      列表转换出的JSONObject
    • parseDictExp

      public static String[] parseDictExp(String sql)
      解析sql字符串得到sql所在数据库
      参数:
      sql - sql字符串,可以在常规sql后追加;ds=xxx来设置数据源
      返回:
      0:sql,1:ds
    • parseDictExp

      public static String[] parseDictExp(String sql, String defaultSjzt)
      解析sql字符串得到sql所在数据库
      参数:
      sql - sql字符串,可以在常规sql后追加;ds=xxx来设置数据源
      返回:
      0:sql,1:ds
    • getZdSqlTmpl

      public static String getZdSqlTmpl(com.alibaba.fastjson.JSONObject myParams, String sqlKey, String sjztlx)
      获取字典中的sql模板,采用sqlKey.sjztlx方式寻找sql模板
      参数:
      myParams - 相关参数
      sqlKey - sql对应的key
      sjztlx - 数据载体类型
      返回:
      对应sql模板
    • createDruidDataSource

      public static com.alibaba.druid.pool.DruidDataSource createDruidDataSource(String url, String user, String pwd)
      创建Druid数据源
      参数:
      url - 数据库连接
      user - 数据库用户
      pwd - 数据库密码
      返回:
      创建的Druid数据源
    • createDruidDataSource

      public static com.alibaba.druid.pool.DruidDataSource createDruidDataSource(String url, String user, String pwd, String driverClassName, String validationQuery, String lx)
      创建druid数据源
      参数:
      url - 连接串
      user - 用户名
      pwd - 密码
      driverClassName - 数据库驱动
      validationQuery - 测试语句
      lx - 数据库类型
      返回:
      创建出来的数据源
    • getDbtypeByDatasource

      public static String getDbtypeByDatasource(DataSource dataSource)
      根据数据源获取数据库类型
      参数:
      dataSource - 数据源
      返回:
      数据库类型
    • getSjztEjmm

      public static String getSjztEjmm()
      获取数据载体二级密码
      返回:
      数据载体二级密码
    • getApplicationName

      public static String getApplicationName()
      获取应用名称
      返回:
      应用名称
    • getDefaultNameConversion

      public static org.beetl.sql.clazz.NameConversion getDefaultNameConversion()
      返回:
      defaultNameConversion
    • setDefaultNameConversion

      public static void setDefaultNameConversion(org.beetl.sql.clazz.NameConversion defaultNameConversion)
      参数:
      defaultNameConversion - the defaultNameConversion to set
    • close

      public void close()
      关闭数据源
    • getDate14

      public String getDate14()
      获取当前数据库的当前时间的14位时间字符串
    • getSourceSql

      public String getSourceSql(org.beetl.sql.core.SqlId sqlId, Map<String,Object> params)
      获取源sql脚本后采用TmplUtil再次渲染后返回脚本
    • update

      public int update(String sql, Object... params)
      执行更新语句
      参数:
      sql - 要执行的预编译原生sql语句
      params - 参数
      返回:
      影响行数
    • update

      public int update(String sqlTemplate, Map<String,Object> params)
      执行更新语句
      参数:
      sqlTemplate - sql模板
      params - 参数
      返回:
      影响行数
    • update

      public int update(org.beetl.sql.core.SqlId sqlId, Map<String,Object> params)
      执行更新语句
      参数:
      sqlId - sql在文件中的id
      params - 参数
      返回:
      影响行数
    • find

      public List<com.alibaba.fastjson.JSONObject> find(String sql, Object... params)
      获取对象列表
      参数:
      sql - 要执行的预编译原生sql语句
      params - 参数
      返回:
      结果列表
    • find

      public List<com.alibaba.fastjson.JSONObject> find(String sqlTemplate, Map<String,Object> params)
      获取对象列表
      参数:
      sqlTemplate - sql模板
      params - 参数
      返回:
      结果列表
    • find

      public List<com.alibaba.fastjson.JSONObject> find(org.beetl.sql.core.SqlId sqlId, Map<String,Object> params)
      获取对象列表
      参数:
      sqlId - sql在文件中的id
      params - 参数
      返回:
      结果列表
    • find1

      public List<com.alibaba.fastjson.JSONObject> find1(org.beetl.sql.core.SqlId sqlId, Map<String,Object> params)
      获取对象列表
      sql脚本会多进行一次TmplUtil模板渲染
      参数:
      sqlId - sql在文件中的id
      params - 参数
      返回:
      结果列表
    • findFirst

      public com.alibaba.fastjson.JSONObject findFirst(String sql, Object... params)
      获取第一个对象
      参数:
      sql - 要执行的预编译原生sql语句
      params - 参数
      返回:
      查询出的第一行数据
    • findFirst

      public com.alibaba.fastjson.JSONObject findFirst(String sqlTemplate, Map<String,Object> params)
      获取第一个对象
      参数:
      sqlTemplate - sql模板
      params - 参数
      返回:
      查询出的第一行数据
    • findFirst

      public com.alibaba.fastjson.JSONObject findFirst(org.beetl.sql.core.SqlId sqlId, Map<String,Object> params)
      获取第一个对象
      参数:
      sqlId - sql在文件中的id
      params - 参数
      返回:
      查询出的第一行数据
    • findFirst1

      public com.alibaba.fastjson.JSONObject findFirst1(org.beetl.sql.core.SqlId sqlId, Map<String,Object> params)
      获取第一个对象
      参数:
      sqlId - sql在文件中的id
      params - 参数
      返回:
      查询出的第一行数据
    • findMap

      public Map<String,com.alibaba.fastjson.JSONObject> findMap(String keyName, String sql, Object... params)
      获取对象列表
      参数:
      keyName - key字段名称
      sql - 要执行的预编译原生sql语句
      params - 参数
      返回:
      结果列表基于指定的key转换为map
    • findMap

      public Map<String,com.alibaba.fastjson.JSONObject> findMap(String keyName, String sqlTemplate, Map<String,Object> params)
      获取对象列表
      参数:
      keyName - key字段名称
      sqlTemplate - sql模板
      params - 参数
      返回:
      结果列表基于指定的key转换为map
    • findMap

      public Map<String,com.alibaba.fastjson.JSONObject> findMap(String keyName, org.beetl.sql.core.SqlId sqlId, Map<String,Object> params)
      获取对象列表
      参数:
      keyName - key字段名称
      sqlId - sql在文件中的id
      params - 参数
      返回:
      结果列表基于指定的key转换为map
    • findMap1

      public Map<String,com.alibaba.fastjson.JSONObject> findMap1(String keyName, org.beetl.sql.core.SqlId sqlId, Map<String,Object> params)
      获取对象列表
      sql脚本会多进行一次TmplUtil模板渲染
      参数:
      keyName - key字段名称
      sqlId - sql在文件中的id
      params - 参数
      返回:
      结果列表基于指定的key转换为map
    • queryStr

      public String queryStr(String sql, Object... params)
      查询一个字符串
      参数:
      sql - 要执行的预编译原生sql语句
      params - 参数
    • queryStr

      public String queryStr(String sqlTemplate, Map<String,Object> params)
      查询一个字符串
      参数:
      sqlTemplate - sql模板
      params - 参数
    • queryStr

      public String queryStr(org.beetl.sql.core.SqlId sqlId, Map<String,Object> params)
      查询一个字符串
      参数:
      sqlId - sql在文件中的id
      params - 参数
    • queryInt

      public int queryInt(String sql, Object... params)
      查询一个数字
      参数:
      sql - 要执行的预编译原生sql语句
      params - 参数
    • queryInt

      public int queryInt(String sqlTemplate, Map<String,Object> params)
      查询一个数字
      参数:
      sqlTemplate - sql模板
      params - 参数
    • queryInt

      public int queryInt(org.beetl.sql.core.SqlId sqlId, Map<String,Object> params)
      查询一个数字
      参数:
      sqlId - sql在文件中的id
      params - 参数
    • queryPage

      public PageInfo<com.alibaba.fastjson.JSONObject> queryPage(PageInfo<com.alibaba.fastjson.JSONObject> page, String sqlTemplate, Map<String,Object> params)
      查询结果直接转换为JSON对象,直接传入SQL
      参数:
      page - 分页对象
      sqlTemplate - sql模板
      params - 参数
      返回:
      分页查询结果
    • queryPage

      public PageInfo<com.alibaba.fastjson.JSONObject> queryPage(PageInfo<com.alibaba.fastjson.JSONObject> page, org.beetl.sql.core.SqlId sqlId, Map<String,Object> params)
      查询结果直接转换为JSON对象
      参数:
      page - 分页对象
      sqlId - sql在文件中的id
      params - 参数
      返回:
      分页查询结果
    • queryPage1

      public PageInfo<com.alibaba.fastjson.JSONObject> queryPage1(PageInfo<com.alibaba.fastjson.JSONObject> page, org.beetl.sql.core.SqlId sqlId, Map<String,Object> params)
      查询结果直接转换为JSON对象
      sql脚本会多进行一次TmplUtil模板渲染
      参数:
      page - 分页对象
      sqlId - sql在文件中的id
      params - 参数
      返回:
      分页查询结果
    • getName

      public String getName()
      返回:
      name
    • getSqlManager

      public org.beetl.sql.core.SQLManager getSqlManager()
      返回:
      sqlManager
    • setSqlManager

      public void setSqlManager(org.beetl.sql.core.SQLManager sqlManager)
      参数:
      sqlManager - the sqlManager to set
    • getDbType

      public com.alibaba.druid.DbType getDbType()
      返回:
      dbType
    • setDbType

      public void setDbType(com.alibaba.druid.DbType dbType)
      参数:
      dbType - the dbType to set
    • getDataSource

      public DataSource getDataSource()
      返回:
      dataSource
    • setDataSource

      public void setDataSource(DataSource dataSource)
      参数:
      dataSource - the dataSource to set