org.tinygroup.dbrouter.util
类 DbRouterUtil

java.lang.Object
  继承者 org.tinygroup.dbrouter.util.DbRouterUtil

public final class DbRouterUtil
extends Object

功能说明: 工具类

开发人员: renhui
开发时间: 2013-12-17


方法摘要
static int checkColumnIndex(String columnName, List<Column> columns)
          检查参数指定的字段名称在列集合元素的位置,返回-1说明columnName不存在columns中
static void checkItem(List<SelectItem> selectItems, Column checkColumn)
           
static void checkOrderByAndGroupbyItem(PlainSelect plainSelect)
          检测查询语句选择项是否包含order by\group by字段,不存在则创建order by\group by字段
static int checkParamIndex(int columnIndex, List<Expression> expressions)
          检查insert语句中列号为columnIndex的jdbcParamter的位置,例如 insert into aaa(id,name,age) values(11,?
static Connection createConnection(DataSourceConfig config)
           
static Object deepCopy(Statement statement)
           
static List<Column> getGroupByColumns(PlainSelect plainSelect)
           
static String getLanguageByUrl(String url)
          根据jdbc的Url解析数据库的语言
static List<Column> getOrderByColumns(PlainSelect plainSelect)
           
static int[] getOrderByIndexs(PlainSelect plainSelect, ResultSet resultSet)
          获取查询语句orderby字段的位置
static Table getSelectTable(String sql)
           
static String getSelectTableName(String sql)
           
static int getSqlParamSize(String sql)
           
static boolean isQuerySql(String sql)
           
static boolean isSelect(Statement statement)
           
static String transformSqlWithTableName(String sql, Map<String,String> tableMapping)
          替换sql语句中的表名信息,条件语句带表名,暂时不进行替换。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

方法详细信息

transformSqlWithTableName

public static String transformSqlWithTableName(String sql,
                                               Map<String,String> tableMapping)
替换sql语句中的表名信息,条件语句带表名,暂时不进行替换。

参数:
sql -
tableMapping -
返回:

getSqlParamSize

public static int getSqlParamSize(String sql)

checkOrderByAndGroupbyItem

public static void checkOrderByAndGroupbyItem(PlainSelect plainSelect)
检测查询语句选择项是否包含order by\group by字段,不存在则创建order by\group by字段

参数:
plainSelect -

checkItem

public static void checkItem(List<SelectItem> selectItems,
                             Column checkColumn)

getOrderByIndexs

public static int[] getOrderByIndexs(PlainSelect plainSelect,
                                     ResultSet resultSet)
                              throws SQLException
获取查询语句orderby字段的位置

参数:
plainSelect -
resultSet -
返回:
抛出:
SQLException

getOrderByColumns

public static List<Column> getOrderByColumns(PlainSelect plainSelect)

getGroupByColumns

public static List<Column> getGroupByColumns(PlainSelect plainSelect)

getSelectTableName

public static String getSelectTableName(String sql)

getSelectTable

public static Table getSelectTable(String sql)

createConnection

public static Connection createConnection(DataSourceConfig config)
                                   throws SQLException
抛出:
SQLException

checkColumnIndex

public static int checkColumnIndex(String columnName,
                                   List<Column> columns)
检查参数指定的字段名称在列集合元素的位置,返回-1说明columnName不存在columns中

参数:
columnName -
columns -
返回:

checkParamIndex

public static int checkParamIndex(int columnIndex,
                                  List<Expression> expressions)
检查insert语句中列号为columnIndex的jdbcParamter的位置,例如 insert into aaa(id,name,age) values(11,?,?) columnIndex:<=1----return -1 columnIndex:2----return 0; columnIndex:3----return 1; columnIndex:>3-----return -1;

参数:
columnIndex -
expressions -
返回:

deepCopy

public static Object deepCopy(Statement statement)
                       throws IOException,
                              ClassNotFoundException
抛出:
IOException
ClassNotFoundException

getLanguageByUrl

public static String getLanguageByUrl(String url)
根据jdbc的Url解析数据库的语言

参数:
url -
返回:

isQuerySql

public static boolean isQuerySql(String sql)

isSelect

public static boolean isSelect(Statement statement)


Copyright © 2006–2015 TinyGroup. All rights reserved.