java获取数据库MetaData
java获取数据库MetaData
元数据(MetaData),即数据的描述信息的数据(表)。数据库的表的表名,表的属性名,表的存储位置,表的列数啊等等都是表的描述信息,而这些描述信息就是元数据啦。
1.DatabaseMetaData类
该类是数据库的描述对象通过Connection对象的getMetaData()方法获取。
public void testDatabaseMetaData() throws SQLException {String url = "jdbc:mysql://127.0.0.1:3306/test?useSSL=false&serverTimezone=UTC";String user = "root" ; String password = "root";//这里随便创建一个连接Connection conn= DriverManager.getConnection(url,user,password);DatabaseMetaData dbMetaData = conn.getMetaData();//获取数据库产品名称String productName = dbMetaData.getDatabaseProductName();//获取数据库版本号String productVersion = dbMetaData.getDatabaseProductVersion();//获取数据库用户名String userName = dbMetaData.getUserName();//获取数据库连接URLString userUrl = dbMetaData.getURL();//获取数据库驱动String driverName = dbMetaData.getDriverName();//获取数据库驱动版本号String driverVersion = dbMetaData.getDriverVersion();//查看数据库是否允许读操作boolean isReadOnly = dbMetaData.isReadOnly();//查看数据库是否支持事务操作boolean supportsTransactions = dbMetaData.supportsTransactions();
}
2.ParameterMetaData类
这个是参数的元数据对象,通过getParameterMetaData()获取
public void testParameterMetaData() throws SQLException {String url = "jdbc:mysql://127.0.0.1:3306/test?useSSL=false&serverTimezone=UTC";String user = "root" ; String password = "root";//这里随便创建一个连接Connection conn= DriverManager.getConnection(url,user,password);String sql = "SELECT * FROM student WHERE name = ?;"; preparedStatement ps = conn.prepareStatement(sql);ParameterMetaData paramMetaData = st.getParameterMetaData();//获取参数个数int paramCount = paramMetaData.getParameterCount();//获取参数类型(参数下标以1开始)String paramTypeName = paramMetaData.getParameterTypeName(1);
}
3.ResultSetMetaData类
数据集的元数据类,通过ResultSet的getMetaData()获取。
public void testParameterMetaData() throws SQLException {String url = "jdbc:mysql://127.0.0.1:3306/test?useSSL=false&serverTimezone=UTC";String user = "root" ; String password = "root";//这里随便创建一个连接Connection conn= DriverManager.getConnection(url,user,password);String sql = "SELECT * FROM student WHERE name = ?;"; preparedStatement ps = conn.prepareStatement(sql);ps.setString(1,"Tom"); //"Tom"为传入值ResultSet rs = ps.executeQuery();ResultSetMetaData rsm = rs.getMetaData();//获取列数int count = metaData.getColumnCount();//获取列名和列类型for(int i =1;i<=count;i++)System.out.println("列名"+rsm.getColumnName(i)+"类型"+rsm.getColumnTypeName(i))}
java获取数据库MetaData相关推荐
- Java获取数据库表的字段信息,及如何将ResultSet转为json
为什么80%的码农都做不了架构师?>>> 一.Java获取数据库表的各个字段的相关信息 在某些开发情景中,需要获取数据库中表的各个字段的相关信息,如字段名,字段类型,字段大小等 ...
- Java获取数据库表名、字段名、字段类型及注释等信息
以前有小伙伴在公众号留言问过如何通过java获取数据库的所有表.及表里字段的信息,只是私信回复过. 在最近的项目中架构部提出了一个数据源的配置需求,就是需要配置公司所有系统的数据库.表等信息,便于大数 ...
- java获取mysql的数据_【助教】Java获取数据库数据展示
本文将给出一个最简单的Java查询数据库中一张表的数据并将查询结果展示在页面的例子. 实际上,我们要解决以下两个问题: Java与数据库交互(以JDBC为例) 数据展示在前台页面(以Servlet+J ...
- JAVA 获取数据库中表的结构
网上的方法: private Connection connection; private Statement statement; public void initConnection(String ...
- Java获取数据库表结构
Java能够操作数据库,当然能够获取到数据库的表结构. 虽然各个DB厂商查询数据库表结构的语句不同,但是Java中通过封装,可以使用共同的API来获取. 各个具体的DB厂商有各自的实现,只需导入相应的 ...
- java获取数据库的列名,类型等信息
2019独角兽企业重金招聘Python工程师标准>>> 当你使用和学习JDK的时候,可以查看并学习它所提供给你的两个ResultSetMetaData 和DataBaseMetaD ...
- java获取数据库当前时间_java中获取系统的当前时间
转自:http://www.cnblogs.com/Matrix54/archive/2012/05/01/2478158.html 一. 获取当前系统时间和日期并格式化输出: import java ...
- java获取数据库数据保存到本地txt文件中
首先是Services @Service public class logServiceimpl implements logService {@Autowired@Qualifier("p ...
- java获取数据库时间12或13小时
解决方案 修改程序客户端连接参数,加上**?serverTimezone=Asia/Shanghai**参数,参考: jdbc:mysql://xxxx:xxxx/test?serverTimezon ...
最新文章
- switch的case使用数组C语言,使用常量数组的元素作为switch语句中的case
- 线上服务 CPU 又 100% 啦?一键定位 so easy!
- c++ 暂停功能_10月10日丨注意:东部华侨城茶溪谷暂停开放!深圳9月街道环卫榜出炉!前五街道盐田占其三!…今日盐田大小事...
- go语言json解析的坑 注意事项
- java获取applicationcontext_SpringBoot获取ApplicationContext
- 项目管理九大知识领域过程逻辑关系图
- mysql 批量导入_MySQL快速大量导入
- 【C】C语言判断文件后缀名
- linux环境下从路径字符串中截取目录和文件名信息
- 电脑桌面上怎么找计算机,电脑自带计算器快捷键 如何快速打开电脑上的计算器...
- Unable to add window——token android.os.BinderProxy@196e65b8 is not valid;is your activit is running?
- 案例分享:Qt+RV1126+PLC医疗血浆采集仪(中英文输入、西门子PLC、数据库存储,各种数据统计,数值监测,电子秤操作,记录查询,全局报警等等)
- 由legacy+MBR改为UEFI+GPT引导方式
- 教你如何利用php.exe运行php文件
- 刷脸支付有助商户自主营销计划节省开支
- sipXecs技术交流QQ群
- 【二 zedboard】PS和PL之间的交互
- postgresql时间差计算
- 阅读记录(2017年1月)
- android app crash测试,APP常见崩溃原因和测试方法整理