JDBC1

1.jdbc的概述

  是sun公司统一提供的一套接口规范,各个数据库生产商提供实现

  注册驱动,获得连接,获得执行的SQL语句对象,释放资源

package com.learn.jdbc;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;import org.junit.Test;public class Demo1 {Connection conn = null;@Testpublic void test() {try {//注册驱动Class.forName("com.mysql.jdbc.Driver");//获得连接String url = "jdbc:mysql///mydatebase";String user = "root";String password = "root";conn = DriverManager.getConnection(url, user, password);} catch (Exception e) {e.printStackTrace();//释放资源if( conn != null) {try {conn.close();} catch (SQLException e1) {e1.printStackTrace();}//垃圾回收尽快回收对象conn = null;}}}
}

2.JDBC的API

  connection

 

 

  statement

3.JDBC的元数据MataDate(提高通用性较高的代码)

  • DatabaseMetaData:获得数据库连接的信息,获得数据库的表的信息.

* 获得数据库元数据:Connection中getMetaData();

 

  • ParameterMetaData:获得SQL中的参数的个数及类型.

* 获得参数元数据:PreparedStatement中getParameterMetaData()

 

  • ResultSetMetaData:获得结果集中的列名及列的类型.

* 获得结果集元数据:ResultSet中getMeta()

4.元数据的使用

public void demo2(){Connection conn = null;conn = JDBCUtils2.getConnection();// 获得数据库元数据:try {DatabaseMetaData metaData = conn.getMetaData();System.out.println("获得驱动名称:"+metaData.getDriverName());System.out.println("获得驱动URL:"+metaData.getURL());System.out.println("获得用户名:"+metaData.getUserName());// 获得表中的主键:ResultSet rs = metaData.getPrimaryKeys(null, null, "category");if(rs.next()){String name = rs.getString("COLUMN_NAME");System.out.println(name);}} catch (SQLException e) {e.printStackTrace();}}

参数元数据

  

public void demo3(){Connection conn = null;PreparedStatement stmt = null;try{conn = JDBCUtils2.getConnection();String sql = "update category set cname = ? where cid = ?";stmt = conn.prepareStatement(sql);ParameterMetaData metaData = stmt.getParameterMetaData();int count = metaData.getParameterCount();System.out.println(count);}catch(Exception e){}}

结果集元数据

public void demo4(){Connection conn = null;PreparedStatement stmt = null;ResultSet rs = null;try{conn = JDBCUtils2.getConnection();String sql = "select * from category";stmt = conn.prepareStatement(sql);rs = stmt.executeQuery();ResultSetMetaData metaData = rs.getMetaData();int count = metaData.getColumnCount();for(int i = 1;i<=count ;i++){String name = metaData.getColumnName(i);String type = metaData.getColumnTypeName(i);System.out.println(name+type);}}catch(Exception e){}}

 

转载于:https://www.cnblogs.com/learnjfm/p/6880663.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/455611.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python程序怎么保存到u盘_python实现usb自动拷贝程序的方法

python实现usb自动拷贝程序的方法 发布时间&#xff1a;2020-06-28 09:07:05 来源&#xff1a;亿速云 阅读&#xff1a;135 作者&#xff1a;清晨 这篇文章将为大家详细讲解有关python实现usb自动拷贝程序的方法&#xff0c;小编觉得挺实用的&#xff0c;因此分享给大家做个参考…

young people can also be a leader

2019独角兽企业重金招聘Python工程师标准>>> The leaders or directors of organizations are often older people. But some people say that young people can also be a leader. To what extent do you agree or disagree? In my view , young people can also …

BZOJ 2004 公交线路(状压DP+矩阵快速幂)

注意到每个路线相邻车站的距离不超过K&#xff0c;也就是说我们可以对连续K个车站的状态进行状压。 然后状压DP一下&#xff0c;用矩阵快速幂加速运算即可。 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <algorithm>#define…

python爬取网易云歌单_详解python selenium 爬取网易云音乐歌单名

目标网站&#xff1a;首先获取第一页的数据&#xff0c;这里关键要切换到iframe里打印一下获取剩下的页数&#xff0c;这里在点击下一页之前需要设置一个延迟&#xff0c;不然会报错。结果&#xff1a;一共37页&#xff0c;爬取完毕后关闭浏览器 完整代码&#xff1a; url htt…

Idea的一些调试技巧及设置todo

程序员的工作内容&#xff0c;除了大部分时间写代码之外&#xff0c;因为有不少的时间是用在调试代码上。甚至说不是在调试代码&#xff0c;就是即将调试代码。 :) 今天我们来谈谈调试代码的一些技巧&#xff0c;在使用IDE提供的debugger时一些快速定位问题的方式。 看到这里的…

Maven:基本使用

为什么80%的码农都做不了架构师&#xff1f;>>> 1.项目管理工具&#xff1a; Maven的repository&#xff0c;说白了就是dependency的仓库&#xff0c;它按照一定的规则将dependency存放起来&#xff0c;以作缓存&#xff0c;如果本机的 repository找不到某个depen…

大数据可视化html模板开源_大数据时代-可视化数据分析平台必不可少

公众号&#xff1a;不安分的猿人一、项目简介DataGear是一款数据管理与可视化分析平台&#xff0c;使用Java语言开发&#xff0c;采用浏览器/服务器架构&#xff0c;支持多种数据库&#xff0c; 主要功能包括数据管理、SQL工作台、数据导入/导出、数据集管理、图表管理、看板管…

【Netty】ChannelHandler和ChannelPipeline

一、前言 前面学习了Netty的ByteBuf&#xff0c;接着学习ChannelHandler和ChannelPipeline。 二、ChannelHandler和ChannelPipeline 2.1 ChannelHandler 在ChannelPipeline中&#xff0c;ChannelHandler可以被链在一起处理用户逻辑。 1. Channel生命周期 Channel接口定义了一个…

自动驾驶安全驾驶规则_自动驾驶知识科普 自动驾驶汽车的七大核心技术

自动驾驶技术的本质是用机器视角去模拟人类驾驶员的行为&#xff0c;其技术框架可以分为三个环节&#xff1a;感知层、决策层 和执行层&#xff0c;具体涉及传感器、计算平台、算法、高精度地图、OS、HMI等 多个技术模块。目前自动驾驶L3商业化技术已经成熟&#xff0c;L4级/L5…

bupt summer training for 16 #3 ——构造

https://vjudge.net/contest/172464 后来补题发现这场做的可真他妈傻逼 A.签到傻逼题&#xff0c;自己分情况 1 #include <cstdio>2 #include <vector>3 #include <algorithm>4 5 using std::vector;6 using std::sort;7 8 typedef long long ll;9 10 int n…

python常用快捷键、写代码事半功倍_Pycharm常用快捷键总结及配置方法

工欲善其事必先利其器&#xff0c;Python开发利器Pycharm常用快捷键以及配置如下&#xff0c;相信有了这些快捷键&#xff0c;你的开发会事半功倍 一 常用快捷键 编辑类&#xff1a; Ctrl D 复制选定的区域或行 Ctrl Y 删除选定的行 Ctrl Alt L 代码格式化 Ctrl Alt O 优…

使用FFMPEG SDK解码流数据获得YUV数据及其大小

本文以H264视频流为例&#xff0c;讲解解码流数据的步骤。 为突出重点&#xff0c;本文只专注于讨论解码视频流数据&#xff0c;不涉及其它&#xff08;如开发环境的配置等&#xff09;。如果您需要这方面的信息&#xff0c;请和我联系。 准备变量 定义AVCodecContext。如果您…

关于Python3.7和Python3.6中元组类型数据内存存储问题

关于Python3.7和Python3.6中元组类型数据内存存储问题 小编最近发现了一个瑕疵 当定义一个元组类型的变量后,若在程序后面再定义一个元组变量,这两个元组的内容相同,那么在不同的版本中会出现不同的结果 在Python3.6版本中,解释器将在内存中开辟两个内存空间分别存储两个元组的…

shell 删除了hdfs 文件_从零开始学大数据(三) Shell操作HDFS文件系统-中

1、格式化[rootmaster sbin]# hdfs namenode -format2、命令hdfs dfsadmin查看(hdfs dfsadmin -report)[rootmaster ~]# hdfs dfsadmin -report安全模式#获取安全模式状态[rootmaster ~]# hdfs dfsadmin -safemode get#进入安全状态[rootmaster ~]# hdfs dfsadmin -safemode en…

计算机硬件

计算机硬件 一、为什么要学习计算机基础 程序员编程的本质就是让计算机去工作&#xff0c;而编程语言就是程序员与计算机沟通的介质。程序员要想让计算机工作&#xff0c;就要知道计算机能干什么、是怎么样的一个完成过程&#xff0c;这也是我们必须学习计算机基础的原因。 …

铁路售票系统_铁路资讯:复兴号动车、智能京张高铁…中国最高端铁路装备看这里...

今天上午&#xff0c;两年一度的中国国际现代化铁路技术装备展在京开展&#xff0c;会期3天&#xff0c;将集中展示路网建设、客货运输、经营管理、工程建造、技术装备、旅客服务等铁路行业各领域的先进产品及技术。展会现场智能京张&#xff1a;将首次实现时速350公里自动驾驶…

CentOS下安装MySQL报安装文件conflicts错误:

2019独角兽企业重金招聘Python工程师标准>>> 第一&#xff1a;报这个错误&#xff0c;说明已经安装或相关文件已经存在&#xff0c;把已经存在的文件卸载了就可以了&#xff1a; rpm -e --nodeps mysql-libs-5.1.* 转载于:https://my.oschina.net/u/3197158/blog/1…

inc指令是什么意思_西门子PLC一些指令

指令(英文全称意思)∶指令含义1、LD ( Load装载):动合触点2、LDN (Load Not不装载):动断触点3、A(And与动合):用于动合触点串联4、AN (And Not与动断):用于动断触点串联5、o(Or 或动合):用于动合触点并联6、ON(Or Not 或动断):用于动断触点并联7、(Out输出):用于线圈输出8、OLD…

touchesEnded不响应

为什么80%的码农都做不了架构师&#xff1f;>>> http://blog.csdn.net/assholeu/article/details/16363241 touchesEnded不响应主要存在以下几种情况 case 1 : userInteractionEnabled 部分控件如UIImageView&#xff0c;userInteractionEnabled默认为NO&#xff0…