数据库连接JDBC原理
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
IP地址
端口号(端口号对某个数据库服务是基本固定的,除非特别设定)意味着对应的数据库的驱动程序
选择数据库
帐号、密码(是分配给数据库的)
发出SQL语句(通过Statement对象发送)
JDBC原理
JDBC是JAVA与数据的连接。因为ODBC是完全用C语言编写的,而JAVA中实现与C语言程序的通信是比较困难的,因此就产生了由JAVA语言编写的用于JAVA程序与数据库连接的接口技术。
JDBC与数据库的连接
JDBC与具体的某种数据库连接,是直接通过JDBC API类库中的类来自动装载驱动程序的。此类库一般在java.sql包中,它包含了用于实现与数据库连接的其它功能的类,包括与数据库建立连接、传送查询和接受查询结果。以下四个类的详细介绍:
作用:
与数据库建立连接
发送SQL语句
处理结果
DriverManager类此类用于装载驱动程序,它所有的成员都是静态成员,所以在程序中无须对它进行实例化,直接通过类名就可以访问它。DriverManager类是JDBC的管理层,作用于用户和驱动程序间
加载驱动程序
Class.forName(“公司名.数据库名.驱动程序名”)
如:Class.forName(“sun.jdbc.odbc.jdbcOdbcDriver”)
建立连接
加载Driver类并在DriverManager类注册后,就可用来与数据库建立连接。当调用Driver.Manager.getConnection()发出连连接请求时,DriverManager将检查每个驱动程序,看它是否可以建立连接。
方法:Connection getConnection(String url,String user,String password)
其中user和password是登录数据库的用户和密码
第一个参数是指向数据库的url,它的格式如下:
jdbc:(subprotocol):(subname)
subprotocol:子协议,指定连接何种数据库或用什么方式连接数据库
subname:确立一个连接,可以是一个数据源名,也可以是指向一个网上数据库
如:以下是通常用驱动程序(JDBC-ODBC桥驱动程序),并连一个student数据源,用匿名登录的的示例:
Class.forName(“sun.jdbc.odbc.jdbcOdbcDriver”);//加载驱动程序
String url=”jdbc:odbc:student”;
Connection cn=DriverManager.getConnection(url,”anonymous”,””);
GetConnection():返回一个连接类对象。若成功,此对象就指向此数据库的一个连接;否则,此对象将为空null
Connection类connection类是指向同一个数据库的连接。作用:管理指向数据库的连接,如:向数据库发送查询和接收数据库的查询结果都是在它基础上的;完成同数据库的连接的所有任务之后关闭此连接。
方法:
Statement createStatment():新建一个Statement对象,此对象可以向数据库发送查询信息
void close():关闭同数据库的连接并释放占有的JDBC资源
Boolean isClose():判断是否仍与数据库连接Statement类作用:Statement对象用于将SQL语句发送到数据库中。 创建Statement对象建立了到特定数据库的连接后,就可用该连接发送SQL语句。Statement对象用Connection的方法createStatement创建。
Connection cn=DriverManager.getconnection(rul,”sunny”,””);
statement stmt=cn.createStatement();
为了执行Statement对象,被发送到数据库的SQL语句将被作为参数提供给Statement的方法
ResultSet rs=stmt.executeQuery(“select a,b,c from table2”);
使用Statement对象执行语句Statement接口提供了三种执行SQL语句的方法
executeQuery():用于产生单个结果集的语句,如:select语句
executeUpdate():用于执行insert、update或delete、语句等,
返回值是一个整数,指示受影响的行数(即更新计数)
execute():用于执行返回多个结果集、多个更新计数或二者组合的语句语句完成语句在已执行且所有结果返回时,即认为已完成。对于返回一个结果集的executeQuery()方法,在检索完ResultSet对象
的所有行时该语句完成。
对于方法executeUpdate(),当它执行时语句即完成
在少数调用execute()的情况下,只有在检索所有结果集或它生成的更新计数之后语句才完成
关闭Statement对象 Statement对象将由Java垃圾收集程序自动关闭。但我们最好显示地关闭它们,因为会立即释放数据管理系统资源,有助避免潜在内存问题。主要方法
ResultSet executeQuery(String sql):返回一个静态的sql查询结果
int executeUpdate(String sql):查询一行sql声明中insert、update、delete的数目或返回0
void close():关闭同数据库的连接和所占有的JDBC资源
ResultSet类(纪录集)作用:装载查询结果,并可以通过它的不同方法提取出查询结果。ResultSet包含符合SQL语句中条件的所有行,且它通过一套get方法(这些get方法可以访问当前行中的不同列)提供了对这些行中数据的访问。
ResultSet.next():将纪录指针移动到ResultSet纪录集的下一行,使之成为当前行。
注:纪录集是一张二维表,其中有查询所返回的列标题及相应的值。
给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
数据库连接JDBC原理相关推荐
- java jdbc close原理_JDBC数据库连接池原理
JDBC是java数据库连接的简称.它是一种用于实行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用java语言编写的类和接口组成.其相关的API都在java.sql.*包下 ...
- JDBC原理及应用模板
JDBC 原理及其使用方法 说明:以下内容来源于B站颜群老师的课堂笔记,我只是对其进行了摘抄和整理. JDBC:Java DataBase Connectivity (java数据库连接对象) 可以为 ...
- Java数据库持久层框架基础:jdbc原理和使用综述
Java数据库持久层框架基础:jdbc原理和使用综述 前言 jdbc基础架构 jbdc的使用 jdbc的主要接口 驱动 连接 连接池 会话Statement 结果集ResultSet 前言 目前jav ...
- 数据库连接池原理以及好处
本篇内容综合广大网友提供内容,笔者经过整理,对数据库连接池原理和实现过程做个很系统的并且通俗易懂的分析讲解,以及手写一个连接池实现过程作为演示. 一.早期通过JDBC方式操作数据库 我们先来看早期使用 ...
- 数据库连接池原理和使用
数据库连接池负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个:释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏 ...
- 【JDBC】jdbc原理总结
1 什么是JDBC JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库.原来我们操作数据库是在控制台使用SQL语句来操作数据库 ...
- 吃透MySQL(二):JDBC原理及源码解析
文章目录 一,JDBC使用 二,JDBC原理 1,JDBC基本原理 2,Java SPI机制 三,JDBC源码分析 自JDBC4.0开始,Class.forName(""),可以省 ...
- JDBC 简介 JDBC 原理
JDBC 简介 JDBC(Java Data Base Connectivity,java 数据库连接)是一种用于执行 SQL 语句的 JavaAPI,可以为多种关系 数据库提供统一访问,它由一组用 ...
- 传统方式连接数据库的弊端和数据库连接池原理
本次博客带领大家学习传统方式连接数据库的弊端和数据库连接池原理. 传统获取Connection问题分析 传统的JDBC数据库连接使用 DriverManager 来获取,每次向数据库建立连接的时候都要 ...
最新文章
- 2022-2028年中国2,3,6-三甲基苯酚行业市场研究及前瞻分析报告
- 谷歌提出「卷积+注意力」新模型,超越ResNet最强变体!
- android edittext限制字节_android EditText输入限制
- 2019年大数据发展将走向何方
- linux03:系统常用的命令
- jfinal集成使用shiro
- 基数排序(c/c++)
- VTK:PolyData之ExtractOutsideSurface
- java EE : tomacat 基础
- 辅助排序和Mapreduce整体流程
- ALC--软件定义架构的PLC
- Less的@import指令
- 数据结构之基于Java的顺序队列实现
- 云计算学习教程,Python自动化运维开发实战
- 灌水导论——灌水法初步
- Windows xp下IDT Hook和GDT的学习
- UIST2018 ShareSpace: Facilitating Shared Use of the Physical Space by both VR Head-Mounted Display
- 编译原理笔记05-语法分析自底向上
- 来几个有趣的Linux指令 (转自Chinaitlab)
- 甘谷2021年高考成绩查询入口,筑梦百天,赢在高考|甘谷一中2021届高考百日誓师大会...