JDBC连接数据库返回结果集的Key值

JDBC连接数据库查询数据时时返回ResultSet结果集。ResultSet中存放键值对。我们可以首先取得Key值,然后通过key值获取我们想要的value。那么我们如何获取Key值呢?看下面代码:

try {
            List<Map<String, String>> list = new ArrayList<Map<String, String>>();
            rs = getStmt().executeQuery(sql);
            // 得到结果集ResultSet的结构信息,比如字段数、字段名等
            ResultSetMetaData rsmd = rs.getMetaData();
            // 得到数据集的列数
            int columncount = rsmd.getColumnCount();
            while (rs.next()) {
                Map<String, String> map = new HashMap<String, String>();
                for (int i = 0; i < columncount; i++) {
                    String key = rsmd.getColumnLabel(i+1);
                    //String key = rsmd.getColumnName(i + 1)
                    String value = rs.getString(key);
                    map.put(key, value);
                }
                list.add(map);
            }
            return list;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        } finally {
            colse();
        }

对于Sql Server和Oracle数据库我们可以用String key = rsmd.getColumnName(i + 1)来获取Key值,但是对于Mysql数据库,当我们使用聚合函数时如:select count(*) as stu_count from student,我们会发现这时取得的key值为空(‘‘),要想取得key值就需要使用String key = rsmd.getColumnLabel(i + 1)方法。

JDBC连接数据库返回结果集的Key值

时间: 2024-10-27 04:53:41

JDBC连接数据库返回结果集的Key值的相关文章

关于JDBC连接数据库时出现的Public Key Retrieval is not allowed错误

问题描述 最近在学习MyBatis框架,参考官方的文档通过配置文件的方式已经实现了通过Configuration配置文件和mapper映射文件访问mysql8数据库,于是想试试不使用XML文件去构建SqlSessionFactory,结合配置文件和官方文档,依次构建了DataSource,JdbcTransactionFactory,Configuration等等,并添加Mapper,在Mapper接口中通过注解配置了SQL语句,一步步的构建完成,前面都顺利执行没有抛出异常,当通过SqlSess

Atitit &#160;jdbc 处理返回多个结果集

Atitit  jdbc 处理返回多个结果集 Statement接口提供了三种执行SQL语句的方法: executeQuery.executeUpdate和execute.使用哪一个方法由SQL语句所产生的内容决定. executeQuery   方法用语返回单个结果集 execute方法应该仅在语句能返回多个ResultSet对象.多个更新计数或ResultSet对象与更新计数的组合时使用.当执行某个已存储过程或动态执行未知SQL字符串(即应用程序程序员在编译时未知)时,有可能出现多个结果的情

jdbc 预编译处理 和spring返回自增主键值

利用GeneratedKeyHolder获得新建数据主键值 Spring利用GeneratedKeyHolder,提供了一个可以返回新增记录对应主键值的方法 : int update(PreparedStatementCreator psc, KeyHolder generatedKeyHolder)//该方法返回受影响的行数,同时将新增记录对应主键值赋值给generatedKeyHolder参数 Spring为KeyHolder接口指代了一个通用的实现类GeneratedKeyHolder,该

(转)jdbc 调用 sql server 的存储过程时“该语句没有返回结果集”的解决方法

本文转载自:http://hedyn.iteye.com/blog/856040 在JDBC中调用SQL Server中的存储过程时出现如下异常: com.microsoft.sqlserver.jdbc.SQLServerException: 该语句没有返回结果集. at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:171) at com.microsof

springboot中处理mybatis返回Map时key值的大小写

为了统一不同数据库返回key值大小写不一致的问题,特自定义ObjectWrapperFactory来做统一的处理 1,首先自定义MapWrapper /** * 将Map的key全部转换为小写 * */ public class MapKeyLowerWrapper extends MapWrapper { public MapKeyLowerWrapper(MetaObject metaObject, Map<String, Object> map) { super(metaObject,

Java中JDBC连接数据库(MySQL)

 JDBC连接数据库步骤. 一个简单详细的查询数据的例子. 封装连接数据库,释放数据库连接方法. 实现查询,插入,删除,更新等十一个处理数据库信息的功能.(包括事务处理,批量更新等) 把十一个功能都放在一起. 安装下载的数据库驱动程序jar包,不同的数据库需要不同的驱动程序(这本该是第一步,但是由于属于安装类,所以我们放在最后) 一.JDBC连接数据库(编辑)步骤(主要有六个步骤).  1.注册驱动: Class.forName("com.mysql.jdbc.Driver");显示的

java中的jdbc连接数据库方法及应用

jdbc连接数据库的口诀:猪脸特直观 import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Demo03 { public static void main(String[] args) thr

jdbc连接数据库方法及一些相关知识点

刚学习完java jdbc连接数据库,总结其中的2种方法 第一种: 代码如下: import java.sql.Connection;import java.sql.Driver;//import java.sql.DriverManager;import java.sql.SQLException;import java.util.Properties; import org.junit.Test;// public class Demo1 { //连接数据库的URL private Stri

JDBC连接数据库(MySql)步骤,以及查询、插入、删除、更新等十一个处理数据库信息的功能。

主要内容:  JDBC连接数据库步骤. 一个简单详细的查询数据的例子. 封装连接数据库,释放数据库连接方法. 实现查询,插入,删除,更新等十一个处理数据库信息的功能. 把十一个功能都放在一起. 一.JDBC连接数据库(编辑)步骤(主要有六个步骤).  1.注册驱动: Class.formName("com.mysql.jdbc.Driver");  2.获取连接:(1) param1:  要连接数据库的url-----> String url="jdbc:mysql:/