iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >java怎样创建一个jdbc程序
  • 576
分享到

java怎样创建一个jdbc程序

javajdbc 2023-05-30 22:05:05 576人浏览 独家记忆
摘要

这篇文章给大家分享的是有关java怎样创建一个jdbc程序的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。JDBC简介Java数据库连接(Java Database Connectivity,JDBC),是一种用于

这篇文章给大家分享的是有关java怎样创建一个jdbc程序的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

JDBC简介

  • Java数据库连接(Java Database Connectivity,JDBC),是一种用于执行sql语句的Java api,它由一组用Java编程语言编写的类和接口组成。

  • JDBC为数据库开发人员提供了一个标准的API,使他们能够用纯Java API来编写数据库应用程序。

  • 使用JDBC编写的程序能够自动地将SQL语句传送给相应的数据库管理系统。

  • JDBC扩展了Java的功能,由于Java语言本身的特点,使得JDBC具有简单、健壮、安全、可移植、获取方便等优势。

我们在没有JDBC之前,使用驱动程序在Java程序与MySQLoracle、SQLServer等数据库之间建立连接,驱动程序就是在该课程中将要学到的内容。那么就存在一个问题:在同一个Java程序与数据库之间建立连接时,驱动程序是否是共用的呢?如果一样,很显然就能节省代码量,但是实际上是不一样的。一定要注意是不一样的。那么就存在一个问题:当底层数据库发生改变之后,数据库的驱动程序也会随之发生变化,那么该怎么解决该问题呢?于是JDBC出现了,目的是为了减轻开发人员的工作量,以提高代码的复用。

JDBC API

接口/类功能说明
DriverManager数据库驱动管理类,用于加载和卸载各种驱动程序,并建立于数据库的连接
Connection此接口用于连接数据库
Statement此接口用于执行SQL语句并将数据检索到ResultSet中
ResultSet结果集接口,提供检索SQL语句返回数据的各种方法
PreparedStatement此接口用于执行预编译的SQL语句
CallableStatement此接口用于执行SQL存储过程的语句

JDBC结构

JDBC API是Java开发工具包(jdk)的组成部份:

  • JDBC驱动程序管理器

  • JDBC驱动程序测试工具

  • JDBC-ODBC桥

JDBC驱动程序管理器是JDBC体系结构的支柱,其主要作用是把Java应用程序连接到正确的JDBC驱动程序上。

JDBC驱动程序测试工具包为JDBC驱动程序的运行提供一定的可信度,只有通过JDBC驱动程序测试包的驱动程序才被认为是符合JDBC标准的。

JDBC-ODBC桥使ODBC驱动程序可被用作JDBC驱动程序。其目标是为方便实现访问某些不常见的DBMS,它的实现为JDBC的快速发展提供了一条途径。

在开始之前,我们先来实现一个简单的JDBC程序

步骤

     1,注册驱动;(只需要注册一次)

     2,建立连接;

     3,创建执行的sql语句;

     4,执行语句;

     5,处理执行结果;

     6,释放资源;

示例

package cn.ccnu;  import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet;  import com.Mysql.jdbc.Statement;  public class Demo1 {    public static void main(String[] args) throws Exception {     test();   }    public static void test() throws Exception {     //1,注册驱动 //   DriverManager.reGISterDriver(new com.mysql.jdbc.Driver()); //   System.getProperty("jdbc.driver", "con.mysql.jdbc.Driver");     Class.forName("com.mysql.jdbc.Driver");//这三种注册方式,推荐使用这种      //2,建立连接     //url格式     //JDBC:子协议:子名称//主机名:端口/数据库名称     String url = "jdbc:mysql://localhost:3306/test";//如果是本机,也可以将localhost:3306省掉     String user = "root";     String passWord = "123456";     Connection conn = (Connection)DriverManager.getConnection(url, user, password);      //3,创建slq执行语句     Statement st = (Statement) conn.createStatement();      //4,执行语句     ResultSet rs = st.executeQuery("select * from a");          //5,处理执行结果     while (rs.next()) {       System.out.println(rs.getObject(1));     }      //6,关闭连接,释放资源     rs.close();     st.close();     conn.close();   }  }

分析JDBC开发步骤

使用JDBC访问数据库的基本步骤一般如下:

  • 加载JDBC驱动程序

  • 创建数据库连接

  • 创建Statement对象

  • 执行SQL语句

  • 处理返回结果

  • 关闭创建的对象

开发第一个JDBC程序

package com.wfu.ch09;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class Test1 { public static void main(String[] args) { try {  Class.forName("com.mysql.jdbc.Driver");//里面的名字一定不要写错,这个也是导入的  //forName(String className) 返回与带有给定字符串名的类或接口相关联的 Class 对象。  Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/k-user","root","123456");//试图建立到给定数据库 URL 的连接。  Statement stmt=conn.createStatement(); //创建一个 Statement 对象来将 SQL 语句发送到数据库。//  String insertsql="insert into k_user(userno,username,pwd) values('1002','张三','123')";//  int x=stmt.executeUpdate(insertsql); //executeUpdate 返回一个int 型的数据 括号里面是一个字符串数据类型,详细内容看文档  //(1) 对于 SQL 数据操作语言 (DML) 语句,返回行计数  //(2) 对于不返回任何内容的 SQL 语句,返回 0//  if(x>0){//  System.out.println("插入成功!");//  }//  String updateSql="update k_user set pwd='123456' where userno='1002'";//  int x=stmt.executeUpdate(updateSql);//  if(x>0){//  System.out.println("更新成功!");//  }  String deleteSql="delete from k_user where userno='1002'";  int x=stmt.executeUpdate(deleteSql);  if(x>0){  System.out.println("删除成功!");  }  String sql="select * from k_user";  ResultSet rs=stmt.executeQuery(sql);  while(rs.next()){  for(int i=1;i<=13;i++){   System.out.print(rs.getString(i)+" ");  }  System.out.println();  }  rs.close();  stmt.close();  conn.close(); } catch (ClassNotFoundException e) {  // TODO Auto-generated catch block  e.printStackTrace(); } catch (SQLException e) {  // TODO Auto-generated catch block  e.printStackTrace(); }   }}
package com.wfu.ch09;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class Test2 { public static void main(String[] args) { try {  // step1:加载JDBC驱动程序  Class.forName("com.mysql.jdbc.Driver");  // step2:建立数据库的连接  Connection conn = DriverManager.getConnection(   "jdbc:mysql://localhost:3306/stock11", "root", "123");//  // step3:创建Statement对象  Statement st = conn.createStatement();  //step4:执行SQL语句  String selectSql="select * from k_user";  //step5:处理结果集  ResultSet rs=st.executeQuery(selectSql);  while(rs.next()){  for(int i=1;i<=13;i++){   System.out.print(rs.getString(i)+" ");  }  System.out.println();//  String x=rs.getString("hometown");//  System.out.println(x);  }  //step6:关闭创建的对象  //关闭结果集  rs.close();  //关闭statement对象  st.close();  //关闭连接  conn.close();  // step4: 执行SQL语句////  String insertSql = "insert into k_user(userno,username,pwd) values('1001','tom','123')";//  int x = st.executeUpdate(insertSql);//  if(x>0){//  System.out.println("插入成功!");//  }//  String updateSql="update k_user set pwd='123456' where userno='1001'";//  int x=st.executeUpdate(updateSql);//  if(x>0){//  System.out.println("更新成功!");//  }//  String deleteSql="delete from k_user where userno='1001'";//  int x=st.executeUpdate(deleteSql);//  if(x>0){//  System.out.println("删除成功!");//  }  // } catch (ClassNotFoundException e) {  // TODO Auto-generated catch block  e.printStackTrace(); } catch (SQLException e) {  // TODO Auto-generated catch block  e.printStackTrace(); } }}

各个语句说明

加载JDBC驱动程序

加载驱动程序的方法:

Class.forName("DriverName")

其中DriverName是要加载的JDBC驱动程序名称。驱动程序名称根据数据库厂商提供的JDBC驱动程序的种类来确定。

加载MySQL数据库驱动程序的方法为:

Class.forName("com.mysql.jdbc.Driver");

加载Oracle数据库驱动程序的方法为:

创建数据库连接-1

DriverManager类是JDBC的管理层,作用于用户和驱动程序之间,跟踪可用的驱动程序,并在数据库和相应驱动程序之间建立连接。该类负责加载、注册JDBC驱动程序,管理应用程序和已注册的驱动程序的连接。

DriverManager的常用方法:

方法名功能说明
Static connection getConnection(String url, String user, String password)用于建立到指定数据库 URL 的连接。其中url为 提供了一种标识数据库位置的方法,user为用户名,password为密码
static Driver getDriver(String url)用于返回能够打开url所指定的数据库的驱动程序

使用DriverManager类的getConnection()创建一个数据库连接:

Connection conn = DriverManager.getConnection(String url,String user,String password);

创建数据库连接-2

URL提供了一种标识数据库位置的方法,可以使相应的驱动程序能够识别该数据库并与它建立连接。

JDBC URL由三个部分组成:

jdbc : < subprotocol> : < subname>

可以根据子协议的改变而变化。

是子协议,指数据库连接的方式。

创建数据库连接-3

对于MySQL驱动的连结的URL是:

jdbc:mysql://serverName:port/instance
  • mysql为子协议名称

  • serverName为MySQL数据库服务器名称,可以是一个域名,也可以是IP地址

  • port为MySQL数据库的端口号,默认为3306

  • instance是数据库的实例名

示例:

Connection conn = DriverManager.getConnection(  "jdbc:mysql://localhost:3306/haier", "root", "123");

创建SQL 语句

创建完连接之后,可以通过此连接向目标数据库发送SQL语句。在发送SQL语句之前,须创建一个Statement类的对象,该对象负责将SQL语句发送给数据库。如果SQL语句运行后产生结果集,Statement对象会将结果集封装成ResultSet对象并返回。

通过调用Connection接口的createStatement方法来创建Statement对象,如:

Statement smt = conn.createStatement();

执行SQL语句

在Statement接口中有两个非常重要的方法,分别是executeUpdate方法和executeQuery方法。使用executeUpdate方法可以执行插入、修改和删除等操作的SQL语句, executeUpdate方法的返回值是一个int类型数值,表示更新数据表的行数。使用 executeQuery方法可以执行数据库查询操作的SQL语句,他的返回值是实现ResultSet接口的对象,在其中保存从数据库中查询出来的数据。

例如:

int row=stmt.executeUpdate(sql);

写到这,对于sql命令的展开没有进行详细的说明,在上面的例子中的代码中有很多注释,都有了详细的说明,对于如何写一个jdbc 程序也有了步骤说明,而且都是一个接着一个的,包括声明的对象类型,还有一个注意的地方就是在最后关闭程序的时候,也是有顺序的,对于有依赖关系的语句都是依次关闭的,在程序的代码中也是有说明的。

感谢各位的阅读!关于“java怎样创建一个jdbc程序”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: java怎样创建一个jdbc程序

本文链接: https://www.lsjlt.com/news/221830.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java怎样创建一个jdbc程序
    这篇文章给大家分享的是有关java怎样创建一个jdbc程序的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。JDBC简介Java数据库连接(Java Database Connectivity,JDBC),是一种用于...
    99+
    2023-05-30
    java jdbc
  • Java怎样创建以JDBC连接数据库的程序
    今天就跟大家聊聊有关Java怎样创建以JDBC连接数据库的程序,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。JDBC连接数据库   ◆  创建一个以JDBC连接数...
    99+
    2023-06-17
  • 使用Java怎么构建一个JDBC应用程序
    今天就跟大家聊聊有关使用Java怎么构建一个JDBC应用程序,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应...
    99+
    2023-06-06
  • 如何在Java中构建一个JDBC应用程序
    这篇文章给大家介绍如何在Java中构建一个JDBC应用程序,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Java可以用来干什么Java主要应用于:1. web开发;2. Android开发;3. 客户端开发;4. 网页...
    99+
    2023-06-14
  • 怎么创建一个java线程
    本篇内容介绍了“怎么创建一个java线程”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!手动创建线程有什么缺点? 不受控风险&nbs...
    99+
    2023-06-16
  • 如何创建一个小程序
    创建一个小程序可以分为以下几个步骤: 确定小程序的目的和功能:首先要明确小程序的目的是什么,以及它需要实现哪些功能。 设计小...
    99+
    2024-04-17
    小程序
  • 怎么在Java中创建一个线程
    今天就跟大家聊聊有关怎么在Java中创建一个线程,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java中线程的创建有两种方式: 1.  通过继承Thread类,重...
    99+
    2023-05-31
    java 线程 ava
  • 使用python怎么创建一个GUI程序
    本篇文章为大家展示了使用python怎么创建一个GUI程序,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬...
    99+
    2023-06-14
  • 如何创建第一个Pygame程序
    目录初始化程序创建Surface对象事件监听游戏循环Pygame 作为一个入门级的游戏开发库,其实并不难学,只要掌握 Python 编程的相关知识就能很轻松地掌握它。 Pygame ...
    99+
    2024-04-02
  • ASP.NET中怎么创建一个安装程序类
    这篇文章给大家介绍ASP.NET中怎么创建一个安装程序类,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。ASP.NET安装部署之创建安装程序类1.在“文件”菜单上指向“新建”,然后选择“项目”。ASP.NET安装部署之创...
    99+
    2023-06-18
  • 怎么用MyBatis创建一个简单的程序
    这篇文章主要介绍“怎么用MyBatis创建一个简单的程序”,在日常操作中,相信很多人在怎么用MyBatis创建一个简单的程序问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用MyBatis创建一个简单的程序...
    99+
    2023-06-29
  • C#中怎么创建一个Web应用程序
    这期内容当中小编将会给大家带来有关C#中怎么创建一个Web应用程序,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。C#创建Web应用程序项目在本节中,创建表示应用程序的用户界面的 Visual C# 或 V...
    99+
    2023-06-17
  • 使用Django怎么创建一个应用程序
    使用Django怎么创建一个应用程序?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。要在Django项目中创建基本应用,您需要转到包含manage.py的目录,然后从此处输入...
    99+
    2023-06-14
  • 怎么创建一个新的WinForm应用程序
    要创建一个新的WinForm应用程序,可以按照以下步骤进行: 打开Visual Studio开发环境 选择“新建项目”,然后选择“...
    99+
    2024-04-08
    winform
  • 如何创建一个Flex应用程序
    这篇文章主要介绍如何创建一个Flex应用程序,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Flex基础Flex是基于组件来进行开发的,为了更有效率地设计和开发Flex应用程序,你应该熟悉这些开发模式以及操作步骤。创建...
    99+
    2023-06-17
  • Python中怎么利用多线程创建一个程序
    这篇文章给大家介绍Python中怎么利用多线程创建一个程序,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Python线程创建需要关注threading.Thread.join(th) 或者th.join()如果你可以对...
    99+
    2023-06-17
  • 怎么用html5和JavaScript创建一个绘图程序
    这篇文章主要介绍“怎么用html5和JavaScript创建一个绘图程序”,在日常操作中,相信很多人在怎么用html5和JavaScript创建一个绘图程序问题上存在疑惑,小编查阅了各式资料,整理出简单好用...
    99+
    2024-04-02
  • 小程序怎么创建一个动画实例animation
    这篇文章主要为大家展示了小程序怎么创建一个动画实例animation,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“小程序怎么创建一个动画实例animation”这篇文章吧。创建一个动画实例anim...
    99+
    2023-06-26
  • 怎么创建一个简单的SpringBoot应用程序
    要创建一个简单的Spring Boot 应用程序,可以按照以下步骤操作: 使用 Spring Initializr 创建一个新的...
    99+
    2024-04-09
    SpringBoot
  • 【APITable】教程:创建并运行一个自建小程序
    1.进入APITable,在想要创建小程序的看板页面点击右上角的【小程序】,进入小程序编辑页面。    2.创建一个新的小程序区。  点击【+ 添加小程序】  点击创建小程序,选择模板,输入名字。    3.确定后进入小程序部署引...
    99+
    2023-09-07
    小程序
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作