「javajdbc流程」java jdbc

博主:adminadmin 2023-03-21 01:03:06 405

本篇文章给大家谈谈javajdbc流程,以及java jdbc对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java中使用JDBC连接数据库的步骤?

1.注册驱动

Class.forname("com.mysql.jdbc.Driver");//这是连接mysql数据库的驱动

2.获取数据库连接

java.sql.Connection conn=java.sql.DriverManager.getConnection(); 3.获取表达式

java.sql.Statement stmt=conn.createStatement("jdbc:mysql://localhost/test?useUnicode=truecharacterEncoding=GBK","root","null");//三个参数分别是数据库连接的URL,用户名,密码 4.执行SQL

java.sql.ResultSet rs=stmt.executeQuery("select * from user"); 5.显示结果集里面的数据

while(rs.next()){

System.out.println(rs.getInt(1));

System.out.println(rs.getString("username"));

System.out.println(rs.getString("password"));

System.out.pringln();

}//执行插入语句

//stmt.executeUpdate("insert into user values(1,'中文','345')");

6.释放资源

rs.close();

stmt.close();

conn.close();

彻底搞懂JDBC的运行过程

前几天笔者发布了博客,手写mybatis彻底搞懂框架原理。为了帮助初学者更好理解mybatis框架,这次讲解一下Java的JDBC的运行过程。

JDBC的作用

JDBC的全称是Java DataBase Connection,也就是Java数据库连接,我们可以用它来操作关系型数据库。JDBC接口及相关类在java.sql包和javax.sql包里。我们可以用它来连接数据库,执行SQL查询,存储过程,并处理返回的结果。

JDBC接口让Java程序和JDBC驱动实现了松耦合,使得切换不同的数据库变得更加简单。

JDBC的连接步骤

执行一次JDBC连接,分六个步骤进行:

1. 导入包

在程序中包含数据库编程所需的JDBC类。大多数情况下,使用 import java.sql.* 就足够了

2. 注册JDBC驱动程序

需要初始化驱动程序,这样就可以打开与数据库的通信。

3. 打开一个连接

使用DriverManager.getConnection()方法来创建一个Connection对象,它代表一个数据库的物理连接。

4. 执行一个查询

需要使用一个类型为Statement或PreparedStatement的对象(两者区别看后文),并提交一个SQL语句到数据库执行查询。

5. 从结果集中提取数据

这一步中演示如何从数据库中获取查询结果的数据。使用ResultSet.getXXX()方法来检索的数据结果

6. 清理环境资源

在使用JDBC与数据交互操作数据库中的数据后,应该明确地关闭所有的数据库资源以减少资源的浪费。本文使用了try with resources方式关闭资源,这是JDK7的语法糖,读者可自行搜索。

完整代码如下。

JDBC的最佳实践

JDBC是如何实现Java程序和JDBC驱动的松耦合?

JDBC API使用Java的反射机制来实现Java程序和JDBC驱动的松耦合。看一下上文的JDBC示例,你会发现所有操作都是通过JDBC接口完成的,而驱动只有在通过Class.forName反射机制来加载的时候才会出现。

这是Java核心库里反射机制的最佳实践之一,它使得应用程序和驱动程序之间进行了隔离,让迁移数据库的工作变得更简单。

Statement和PreparedStatement区别

预编译

创建时的区别:

执行时的区别:

由上可以看出,PreparedStatement有预编译的过程,已经绑定sql,之后无论执行多少次,都不会再去进行编译,而Statement 不同,如果执行多次,则相应的就要编译多少次sql,所以从这点看,PreparedStatement的效率会比Statement要高一些。PreparedStatement是预编译的,所以可以有效的防止SQL注入等问题

占位符

PrepareStatement可以替换变量在SQL语句中可以包含?,可以用?替换成变量。

而Statement只能用字符串拼接。

JDBC的ResultSet

在查询数据库后会返回一个ResultSet,它就像是查询结果集的一张数据表。

ResultSet对象维护了一个游标,指向当前的数据行。开始的时候这个游标指向的是第一行。如果调用了ResultSet的next()方法游标会下移一行,如果没有更多的数据了,next()方法会返回false。可以在for循环中用它来遍历数据集。

默认的ResultSet是不能更新的,游标也只能往下移。也就是说你只能从第一行到最后一行遍历一遍。不过也可以创建可以回滚或者可更新的ResultSet,像下面这样。

当生成ResultSet的Statement对象要关闭或者重新执行或是获取下一个ResultSet的时候,ResultSet对象也会自动关闭。

可以通过ResultSet的getter方法,传入列名或者从1开始的序号来获取列数据。

ResultSet的不同类型

根据创建Statement时输入参数的不同,会对应不同类型的ResultSet。如果你看下Connection的方法,你会发现createStatement和prepareStatement方法重载了,以支持不同的ResultSet和并发类型。

ResultSet对象有三种类型。

ResultSet有两种并发类型。

java中使用JDBC连接数据库的步骤是什么?

注册驱动

Class.forname("com.mysql.jdbc.Driver");//这是连接mysql数据库的驱动

获取数据库连接

java.sql.Connection conn=java.sql.DriverManager.getConnection(); 3.获取表达式

java.sql.Statement  stmt=conn.createStatement("jdbc:mysql://localhost/test?

useUnicode=truecharacterEncoding=GBK","root","null");//三个参数分别是数据库连接的URL,

用户名,密码 4.执行SQL

java.sql.ResultSet   rs=stmt.executeQuery("select * from user"); 5.显示结果集里面的数据

while(rs.next()){

System.out.println(rs.getInt(1));

System.out.println(rs.getString("username"));

System.out.println(rs.getString("password"));

System.out.pringln();

}//执行插入语句

//stmt.executeUpdate("insert into user values(1,'中文','345')");

释放资源

rs.close();

stmt.close();

conn.close();

JDBC的工作原理是什么?

JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术。

JDBC工作原理主要分3个步骤:1、加载数据库驱动。2、获取数据库连接。3、发送sql语句访问数据库 。

1、加载数据驱动:使用Class.forName方法,调用这个方法会加载数据库驱动com.MySQL.jdbc.driver。

关于数据库驱动的理解,其实是sun公司给了一个Driver的接口,然后各个数据厂商根据自己的数据库

来实现这个接口。当要访问数据库的时候,需要引入这个第三方类库。类的加载主要分为5个部分,

加载、验证、准备、解析、初始化。在初始化的部分用到了DriverManager.registerDriver()方法,将

自己注册给DriverManager的Driver接口。这个地方体现了多态。这个时候就可以使用Driver了。

2、获取数据库连接DriverManager.getConnection()。这个方法主要调用driver的connect()方法

返回一个实现了Connection接口的对象。

3、然后利用Connection对象创建Statement,发送sql语句访问数据库。

延伸:JDBC基础知识

JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,并且可跨平台运行,并且不受数据库供应商的限制。

1、跨平台运行:这是继承了Java语言的“一次编译,到处运行”的特点;

2、不受数据库供应商的限制:巧妙在于JDBC设有两种接口,一个是面向应用程序层,其作用是使得开发人员通过SQL调用数据库和处理结果,而不需要考虑数据库的提供商;另一个是驱动程序层,处理与具体驱动程序的交互,JDBC驱动程序可以利用JDBC API创建Java程序和数据源之间的桥梁。应用程序只需要编写一次,便可以移到各种驱动程序上运行。Sun提供了一个驱动管理器,数据库供应商——如MySQL、Oracle,提供的驱动程序满足驱动管理器的要求就可以被识别,就可以正常工作。所以JDBC不受数据库供应商的限制。

JDBC API可以作为连接Java应用程序与各种关系数据库的纽带,在带来方便的同时也有负面影响,以下是JDBC的优、缺点。优点如下:

· 操作便捷:JDBC使得开发人员不需要再使用复杂的驱动器调用命令和函数;

· 可移植性强:JDBC支持不同的关系数据库,所以可以使同一个应用程序支持多个数据库的访问,只要加载相应的驱动程序即可;

· 通用性好:JDBC-ODBC桥接驱动器将JDBC函数换成ODBC;

· 面向对象:可以将常用的JDBC数据库连接封装成一个类,在使用的时候直接调用即可。

缺点如下:

· 访问数据记录的速度受到一定程度的影响;

· 更改数据源困难:JDBC可支持多种数据库,各种数据库之间的操作必有不同,这就给更改数据源带来了很大的麻烦

关于javajdbc流程和java jdbc的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。