一.了解基本的几个jdbc需要的类

1.1DriverManager类

DriverManager类是一个jdbc的驱动服务类。通常使用该类获得一个Connection对象,得到一个数据库的链接。

1.2.Connection类

每一个Coonection的对象都是一个数据库的链接对象,代表了一个物理会话。

1.3. Statement类

执行sql语句的工具接口。

1.4.PreparedStatement类

Statement类的子接口,一个预编译的Statment对象。

1.5.ResultSet类

查询结果集类

二.进行jdbc编程

2.1步骤

1.加载数据库驱动

使用Class类的forName方法来加载数据库链接驱动。

代码实例:

String dirver ="com.mysql.jdbc.Driver";//加载数据库驱动
Class.forName(dirver);

 2.获取数据库的链接

通过上面的驱动服务类来获取数据库链接,使用DriverManager类的getConnection()方法来链接,得到一个数据库的物理会话。

getConnection(String url,String user,String pass)方法解析:

该方法返回一个Connection对象,参数中的url是指数据库的url。

mysql的url为:jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false

代码实例:

String url="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false";
String user="root";
String password="4399";
conn = DriverManager.getConnection(url,user,password);

3.通过Connection对象创建一个Statement对象。

在这里有三种Statement对象来创建,基本的Statement对象,还有就是预编译的Statement对象prepareStatement和执行存储过程的CallableStatement对象

分别来看看三种对象的创建方式:

        //加载驱动
Class.forName("com.mysql.jdbc.Driver");
//获得一个物理回话
Connection conn= DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false","root","4399");
//得到一个普通的Statement对象
Statement stat=conn.createStatement();
//得到预编译对象
PreparedStatement pre_stat=conn.prepareStatement("select * form students");
String str="{call pro_getCountById(?, ?, ?)}";//存储过程
//执行存储过程的对象
CallableStatement call_stat = conn.prepareCall(str);

4.使用Statement对象来执行sql语句

三种方法来执行sql语句:

1.execute()可以执行任何sql语句。

2.executeUpdate()执行DML语句和DDL语句,DDL语句返回0,DML语句返回影响行数。

3.executeQuery()只能执行查询语句,返回查询结果集ResultSet。

代码实例:

stat.executeUpdate("drop table if exists tab1");//执行DDL语句
stat.executeUpdate("insert into tabl values (10,'zhansan') ");//执行DML语句
ResultSet res=stat.executeQuery("select * from tab1");//执行DQL

5.操作结果集

理解ResultSet类:(引用)

ResultSet类是一种数据库查询结果存储类,就是当查询数据库的时候,可以将查询的结果放在具体的ResultSet对象中,其实我们把这种存储查询结果的ResultSet对象叫做ResultSet结果集。比如我们用aaa表示一个ResultSet对象。
那么查询的结果无非就是一些符合查询条件的记录集,ResultSet结果集有一个索引指针,最初这个指针是指向第一条记录的前一个位置,也就是没有指向任何内容,使用aaa.next()方法就会使指针往后移动指向下一个记录,所以一定要先执行一次next()函数才会让指针指向第一条记录。
操作结果集就是移动指针的过程。

6.回收数据库资源

需要关闭的资源:ResultSet、Statement、Connection

浅入浅出JDBC————1分钟了解JDBC的更多相关文章

  1. Spring的数据库编程浅入浅出——不吹牛逼不装逼

    Spring的数据库编程浅入浅出——不吹牛逼不装逼 前言 上文书我写了Spring的核心部分控制反转和依赖注入,后来又衔接了注解,在这后面本来是应该写Spring AOP的,但我觉得对于初学者来说,这 ...

  2. Spring MVC浅入浅出——不吹牛逼不装逼

    Spring MVC浅入浅出——不吹牛逼不装逼 前言 上文书说了Spring相关的知识,对Spring来了个浅入浅出,大家应该了解到,Spring在三层架构中主做Service层,那还有Web层,也就 ...

  3. 浅入浅出EmguCv(三)EmguCv打开指定视频

    打开视频的思路跟打开图片的思路是一样的,只不过视频是由一帧帧图片组成,因此,打开视频的处理程序有一个连续的获取图片并逐帧显示的处理过程.GUI同<浅入浅出EmguCv(二)EmguCv打开指定图 ...

  4. 浅入浅出EmguCv(一)OpenCv与EmguCv

    最近接触计算机视觉方面的东西,于是准备下手学习opencv,从官网下载windows的安装版,配置环境,一系列步骤走完后,准备按照惯例弄个HelloWord.也就是按照网上的教程,打开了那个图像处理领 ...

  5. 浅入深出之Java集合框架(上)

    Java中的集合框架(上) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,如果已经有java基础的小伙伴可以直接跳到<浅入深出之Java集合框架 ...

  6. 浅入深出之Java集合框架(中)

    Java中的集合框架(中) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,如果已经有java基础的小伙伴可以直接跳到<浅入深出之Java集合框架 ...

  7. 浅入深出之Java集合框架(下)

    Java中的集合框架(下) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,哈哈这篇其实也还是基础,惊不惊喜意不意外 ̄▽ ̄ 写文真的好累,懒得写了.. ...

  8. 浅入深出Vue:环境搭建

    浅入深出Vue:环境搭建 工欲善其事必先利其器,该搭建我们的环境了. 安装NPM 所有工具的下载地址都可以在导航篇中找到,这里我们下载的是最新版本的NodeJS Windows安装程序 下载下来后,直 ...

  9. 浅入深出Vue:工具准备之PostMan安装配置及Mock服务配置

    浅入深出Vue之工具准备(二):PostMan安装配置 由于家中有事,文章没顾得上.在此说声抱歉,这是工具准备的最后一章. 接下来就是开始环境搭建了~尽情期待 工欲善其事必先利其器,让我们先做好准备工 ...

  10. 浅入深出Vue:工具准备之WebStorm安装配置

    浅入深出Vue之工具准备(一):WebStorm安装配置 工欲善其事必先利其器,让我们先做好准备工作吧 导航篇 WebStorm安装配置 所有工具的下载地址都可以在导航篇中找到,这里我们下载的是最新版 ...

随机推荐

  1. BBU和RRU具体区别是 什么?

    RRU是Remote Radio Unit 远端射频模块,BBU是Building Baseband Unit 室内基带处理单元.基带BBU集中放置在机房,RRU可安装至楼层,BBU与RRU之间采用光 ...

  2. CEF 跨域访问iframe

    转载:https://www.cnblogs.com/wxxweb/p/3738696.html 在CefBrowserSettings也就是_cef_browser_settings_t结构体中,有 ...

  3. Echarts整合spring boot进行开发

    一.开始前的准备 Echarts官网下载: https://echarts.baidu.com/download.html

  4. UVA1203 Argus

    思路 用堆维护每个触发器的下一个事件,每次取出一个事件再把对应触发器的下一个事件加入堆即可 代码 #include <cstdio> #include <algorithm> ...

  5. struts2注释返回json数据

  6. Spark面试相关

    Spark Core面试篇01 随着Spark技术在企业中应用越来越广泛,Spark成为大数据开发必须掌握的技能.前期分享了很多关于Spark的学习视频和文章,为了进一步巩固和掌握Spark,在原有s ...

  7. gis和threejs的学习资料

    *********************************** 基础知识/名词 瓦片/矢量瓦片GeoJson - 绘制GeoJson看数据, geojson规范, 中文版 ********** ...

  8. Luffy之注册认证(容联云通讯短信验证)

    用户的注册认证 前端显示注册页面并调整首页头部和登陆页面的注册按钮的链接. 注册页面Register,主要是通过登录页面进行改成而成. 先构造前端页面 <template> <div ...

  9. Annotations

    一.介绍 注解,可以将注解看成一种特殊的接口.是一种特殊种类的元数据,它能够关联Java语言中不同元素和结构.有意思的是,在Java生态系统中大多数使用样板XML描述符的地方,注解在消除这些XML描述 ...

  10. VMware vSphere Client(Vcenter)上传ISO镜像

    .登录Vcenter后选择"数据存储与数据存储集群" .选择存储的路径,右键-选择“浏览数据存储” .点击上传图标,并上传指定的ISO文件