• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于java:小知识系列查询数据库数据的元信息

java 搞代码 4年前 (2022-01-27) 46次浏览 已收录 0个评论

简介

java中数据库的操作置信大家都不生疏,JDK提供了java.sql包来标准对数据库的各种操作。咱们最罕用的操作就是从数据库的ResultSet中获取数据,其实这个包中还有一个十分有用的类叫做ResultSetMetaData,能够通过这个类来获取查问数据的元信息,一起来看看吧。

应用ResultSet

java.sql.ResultSet是一个通用的标准,用来示意从数据库获取到的数据。

通常来说,咱们通过connection来创立Statement,而后通过执行查问语句来失去:

Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                                        ResultSet.CONCUR_UPDATABLE);
         ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2");

resultSet提供了各种getter办法,来获取后果集中的各种数据。能够通过index,也能够通过column名称来获取。

当然,应用index它的效率会更高,index是从1开始的。如果是通过列名来获取数据,传入的列名是大小写不敏感的,如果后果数据中有多个匹配的类,则会返回最先匹配的那一列。

在get的过程中,JDBC driver会尝试将后果数据的数据库类型转换成为对应的java类型。

JDBC 2.0 API,ResultSet也能够进行更新和插入操作,可能咱们很少这样做,个别都是先结构好数据后直接插入。

先看下更新操作:

         rs.absolute(5); // 将游标挪动到第5行
         rs.updateString("SITE", "www.flydean.com"); // 将SITE更新为www.flydean.com
         rs.updateRow(); // 更新到数据库中

再看下插入操作:

  
         rs.moveToInsertRow(); // 将游标挪动到插入行
         rs.updateString(1, "www.flydean.com"); // 将插入行的第一列更新为www.flydean.com
         rs.updateInt(2,35); // 更新第二列为35
         rs.updateBoolean(3, true); // 更新第三列为true
         rs.insertRow();
         rs.moveToCurrentRow();

应用ResultSetMetaData

有了ResultSet,咱们能够通过它的getMetaData办法,来获取后果集的元数据。

什么是元数据呢?元数据又叫做Metadata,是用来形容数据属性的数据。

   ResultSetMetaData getMetaData() throws SQLException;

举个具体的例子:

       ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM TABLE2");
       ResultSetMetaData rsmd = rs.getMetaData();
       int numberOfColumns = rsmd.getColumnCount();
       boolean b = rsmd.isSearchable(1);

ResultSetMetaData提供了很多十分有用的元数据检测办法:

咱们能够拿到列的名称、类型、字段长度、是否为空等很多有意义的数据。

这个元数据有什么用呢?

通过元数据,咱们能够拿到数据库的形容文件,从而能够主动创立对应的数据库表格的映射关系,从而缩小手动代码的输出,十分的不便。

用过MybatisPlus的敌人可能晓得,它提供了一个AutoGenerator,能够主动生成mapper对象和对应的xml文件,十分好用,大家能够试一试。

总结

以上就是ResultSet和ResultSetMetaData的介绍,大家学会了吗?

本文已收录于 http://www.flydean.com/02-db-resultsetmetadata/

最艰深的解读,最粗浅的干货,最简洁的教程,泛滥你不晓得的小技巧等你来发现!

欢迎关注搞代码gaodaima网的公众号:「程序那些事」,懂技术,更懂你!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于java:小知识系列查询数据库数据的元信息

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址