当前位置:网站首页>Convert result set of SQL to set
Convert result set of SQL to set
2022-06-11 05:22:00 【Bug repair robot】
try {
String sql="select * from course";
JobDatasource datasource=new JobDatasource();
BaseQueryTool queryTool = QueryToolFactory.getByDbType(datasource,true);
Connection conn = queryTool.getConnection();
Statement stmt = conn.createStatement();
ResultSet set = stmt.executeQuery(sql);
//sql The queried data is converted to a set
BeanListHandler<Course> bh=new BeanListHandler<Course>(Course.class);
List<Course> courseList=bh.handle(set);
conn.close();
stmt.close();
return AjaxResult.success(courseList);
} catch (SQLException e) {
logger.error(" Database query failed !, Reasons for failure :"+e.getMessage());
return AjaxResult.success(e.getMessage());
}Tool class for querying data :
package com.appraise.common.tool;
import com.appraise.common.core.domain.entity.JobDatasource;
import com.appraise.common.utils.JdbcConstants;
import com.appraise.common.utils.RdbmsException;
import java.sql.SQLException;
/**
* Tool class , Get singleton entity
*
* @author [email protected]
* @ClassName QueryToolFactory
* @Version 1.0
* @since 2019/7/18 9:36
*/
public class QueryToolFactory {
public static BaseQueryTool getByDbType(JobDatasource jobDatasource,boolean flag) {
// obtain dbType
String datasource = jobDatasource.getDatasource();
if (JdbcConstants.MYSQL.equals(datasource)) {
return getMySQLQueryToolInstance(jobDatasource,flag);
} else if (JdbcConstants.ORACLE.equals(datasource)) {
return getOracleQueryToolInstance(jobDatasource,flag);
} else if (JdbcConstants.POSTGRESQL.equals(datasource)) {
return getPostgresqlQueryToolInstance(jobDatasource,flag);
} else if (JdbcConstants.SQL_SERVER.equals(datasource)) {
return getSqlserverQueryToolInstance(jobDatasource,flag);
}else if (JdbcConstants.HIVE.equals(datasource)) {
return getHiveQueryToolInstance(jobDatasource,flag);
} else if (JdbcConstants.CLICKHOUSE.equals(datasource)) {
return getClickHouseQueryToolInstance(jobDatasource,flag);
}else if (JdbcConstants.HBASE20XSQL.equals(datasource)) {
return getHbase20XsqlQueryToolQueryToolInstance(jobDatasource,flag);
}
throw new UnsupportedOperationException(" The type cannot be found : ".concat(datasource));
}
private static BaseQueryTool getMySQLQueryToolInstance(JobDatasource jdbcDatasource,boolean flag) {
try {
return new MySQLQueryTool(jdbcDatasource,flag);
} catch (Exception e) {
throw RdbmsException.asConnException(JdbcConstants.MYSQL,
e,jdbcDatasource.getJdbcUsername(),jdbcDatasource.getDatasourceName());
}
}
private static BaseQueryTool getOracleQueryToolInstance(JobDatasource jdbcDatasource,boolean flag) {
try {
return new OracleQueryTool(jdbcDatasource,flag);
} catch (SQLException e) {
throw RdbmsException.asConnException(JdbcConstants.ORACLE,
e,jdbcDatasource.getJdbcUsername(),jdbcDatasource.getDatasourceName());
}
}
private static BaseQueryTool getPostgresqlQueryToolInstance(JobDatasource jdbcDatasource,boolean flag) {
try {
return new PostgresqlQueryTool(jdbcDatasource,flag);
} catch (SQLException e) {
throw RdbmsException.asConnException(JdbcConstants.POSTGRESQL,
e,jdbcDatasource.getJdbcUsername(),jdbcDatasource.getDatasourceName());
}
}
private static BaseQueryTool getSqlserverQueryToolInstance(JobDatasource jdbcDatasource,boolean flag) {
try {
return new SqlServerQueryTool(jdbcDatasource,flag);
} catch (SQLException e) {
throw RdbmsException.asConnException(JdbcConstants.SQL_SERVER,
e,jdbcDatasource.getJdbcUsername(),jdbcDatasource.getDatasourceName());
}
}
private static BaseQueryTool getHiveQueryToolInstance(JobDatasource jdbcDatasource,boolean flag) {
try {
return new HiveQueryTool(jdbcDatasource,flag);
} catch (SQLException e) {
throw RdbmsException.asConnException(JdbcConstants.HIVE,
e,jdbcDatasource.getJdbcUsername(),jdbcDatasource.getDatasourceName());
}
}
private static BaseQueryTool getClickHouseQueryToolInstance(JobDatasource jdbcDatasource,boolean flag) {
try {
return new ClickHouseQueryTool(jdbcDatasource,flag);
} catch (SQLException e) {
throw RdbmsException.asConnException(JdbcConstants.CLICKHOUSE,
e, jdbcDatasource.getJdbcUsername(), jdbcDatasource.getDatasourceName());
}
}
private static Hbase20XsqlQueryTool getHbase20XsqlQueryToolQueryToolInstance(JobDatasource jdbcDatasource,boolean flag) {
try {
return new Hbase20XsqlQueryTool(jdbcDatasource,flag);
} catch (SQLException e) {
throw RdbmsException.asConnException(JdbcConstants.HBASE20XSQL,
e, jdbcDatasource.getJdbcUsername(), jdbcDatasource.getDatasourceName());
}
}
}
边栏推荐
- Network security construction in 5g Era
- Wechat applet, automatic line feed for purchasing commodity attributes, fixed number of divs, automatic line feed for excess parts
- Carrier coordinate system inertial coordinate system world coordinate system
- mysql字符串转数组,合并结果集,转成数组
- IOU series (IOU, giou, Diou, CIO)
- 一大厂95后程序员对部门领导不满,删库跑路被判刑
- Zed2 camera calibration -- binocular, IMU, joint calibration
- Huawei equipment is configured with bgp/mpls IP virtual private network address space overlap
- ROS compilation error: could not find a package configuration file provided by "XXX“
- es-ik 安装报错
猜你喜欢

Preliminary understanding of DFS and BFS

Sealem Finance打造Web3去中心化金融平台基础设施

Conversion relationship between coordinate systems (ECEF, LLA, ENU)

Tightly coupled laser vision inertial navigation slam system: paper notes_ S2D. 66_ ICRA_ 2021_ LVI-SAM

White Gaussian noise (WGN)

Lianrui electronics made an appointment with you with SIFA to see two network cards in the industry's leading industrial automation field first

Overview of self attention acceleration methods: Issa, CCNET, cgnl, linformer

JVM tuning 6: GC log analysis and constant pool explanation

选择数字资产托管人时,要问的 6 个问题

MySQL string to array, merge result set, and convert to array
随机推荐
【项目篇- 附件佐证材料放什么?(十八种两千字总结)】创新创业竞赛项目计划书、挑战杯创业计划竞赛佐证材料
推荐一款免费的内网穿透开源软件,可以在测试本地开发微信公众号使用
Opencv learning path (2-2) -- Deep parsing namedwindow function
Traversal of binary tree -- restoring binary tree by two different Traversals
Section I: classification and classification of urban roads
智能门锁为什么会这么火,米家和智汀的智能门锁怎么样呢?
Zed2 camera manual
Section II: structural composition characteristics of asphalt pavement (1) structural composition
Intercept file extension
IOU series (IOU, giou, Diou, CIO)
袋鼠云数栈基于CBO在Spark SQL优化上的探索
Stone game -- leetcode practice
Section II: structural composition characteristics of asphalt pavement (2) structural layer and performance requirements
[NIPS2021]MLP-Mixer: An all-MLP Architecture for Vision
27、移除元素
(15) Infrared communication
Thesis 𞓜 jointly pre training transformers on unpaired images and text
选择数字资产托管人时,要问的 6 个问题
Analysis while experiment - a little optimization of memory leakage in kotlin
Deep search + backtracking