您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 第8章-JDBC编程
本讲目标掌握JDBC的概念与使用场景掌握JDBC的工作原理掌握使用JDBC操作数据库的基本步骤掌握JDBC中几个常用接口和类掌握MySQL和Navicat的安装配置过程掌握带数据库操作的应用程序开发步骤第8章JDBC编程现在的应用系统大多都离不开数据库,Java程序访问数据库的基本方式是通过JDBC。JDBC(JavaDataBaseConnectivity,Java数据库连接)技术的简称,是一种用于执行SQL语句的JavaAPI。它由一组用Java编程语言编写的类和接口组成。这个API由java.sql.*包中的一些类和接口组成,它为数据库开发人员提供了一个标准的API,使他们能够用纯JavaAPI来编写数据库应用程序。注意:使用JDBC访问数据库需要相应数据库的JDBC驱动程序。什么是JDBCJDBC为多种关系数据库提供了统一访问方式,作为特定厂商数据库访问API的一种高级抽象,它主要包含一些通用的接口类。真正的数据库访问操作实现是由各自数据库厂商提供的。通常把厂商提供的特定于数据库的访问API称为数据库JDBC驱动程序。JDBC通过提供抽象的数据库接口,使得程序开发人员在编程时可以不用绑定在特定数据库厂商的API上,大大增加了应用程序的可移植性。在实际运行过程中程序代码通过JDBC访问数据库时,仍需要调用特定于数据库的访问API。JDBC工作原理JDBC工作原理JDBC接口层JDBC驱动层J2EE应用JDBCAPI数据库JDBC驱动程序数据库程序员开发Sun数据库厂商应用层JDBC访问数据库层次结构要使用JDBC技术主要包括以下步骤:(1)加载驱动;(2)建立连接;(3)创建Statement(4)执行SQL语句;(5)关闭连接;使用JDBC的基本步骤(1)加载驱动加载JDBC驱动是通过调用方法:Class.forName(“驱动名字”)下面是MysSQL数据库驱动程序加载语句:Class.forName(“com.mysql.jdbc.Driver);(2)建立连接与数据库建立连接的方法是调用DriverManager.getConnection(Stringurl)方法。其中MySQL的URL形式如下:jdbc://mysql://服务器地址:端口/数据库名?user=账号&password=密码&useUnicode=true&characterEncoding=utf8下面与MySQL数据库建立连接的语句:Stringurl=jdbc:mysql://localhost:3306/soft?user=root&password=123&useUnicode=true&characterEncoding=utf8;Connectioncon=DriverManager.getConnection(url);(3)创建StatementStatement对象用于将SQL语句发送到数据库中。主要有3种Statement对象:Statement:用于执行不带参数的简单SQL语句;PreparedStatement(从Statement继承):用于执行带或不带输入参数的预编译SQL语句,由于PreparedStatement对象已预编译过,所以其执行速度要快于Statement对象。CallableStatement(从PreparedStatement继承):用于执行数据库存储过程的调用。(了解)(3)创建Statement我们可以用Connection对象的方法createStatement()创建Statement。示例如下:Statementstmt=con.createStatement();(4)执行SQL语句创建了Statement对象,就可以向Statement对象发送SQL语句。主要掌握两种执行SQL语句的方法:executeQuery()、executeUpdate()executeQuery():返回语句执行后的单个结果集的,所以通常用于select语句executeUpdate()返回值是一个整数,指示受影响的行数(可以用于update、insert、delete语句)。(4)执行SQL语句示例如下:查询stmt.executeQuery(“select*fromperson”);添加:stmt.executeUpdate(“insertintoperson(id,name,age)”values(1,’张三’,23));(4)执行SQL语句1、如果是执行查询,结果则用ResultSet保存ResultSet对象它被称为结果集,它代表符合SQL语句条件的所有行,并且它通过一套getXXX方法提供了对这些行中数据的访问。ResultSet里的数据一行一行排列,每行有多个字段,并且有一个记录指针,指针所指的数据行叫做当前数据行,我们只能来操作当前的数据行。我们如果想要取得某一条记录,就要使用ResultSet的next()方法,如果我们想要得到ResultSet里的所有记录,就应该使用while循环。(4)执行SQL语句1、如果是执行查询,结果则用ResultSet保存示例如下:ResultSetrs=stmt.executeQuery(“select*fromperson”);while(rs.next()){System.out.println(rs.getInt(id));System.out.print(rs.getString(name));System.out.print(rs.getInt(“age));}(4)执行SQL语句2、如果执行是添加、修改或删除,则执行结果为整数,代表影响了数据库的几行。示例如下:intcount=stmt.executeUpdate(“insertintoperson(id,name,age)”values(1,’张三’,23));(5)关闭连接作为一种好的编程风格,应在不需要ResultSet对象、Statement对象和Connection对象时显式地关闭它们。关闭这些对象的语法形式为:publicvoidclose()throwsSQLException示例:rs.close();stmt.close();con.close();数据库MySQL安装过程MySQL是一个应用广泛的开源的数据库软件。MySQL下载:MySQL安装:运行MySQL安装程序出现下图,点击“Next”进入安装。进入选择安装类型界面:采用默认选项,点击“Next”。数据库MySQL安装过程进入安装信息汇总界面:点击“Install”。数据库MySQL安装过程进入如下界面,点击“Next”。数据库MySQL安装过程直到出现安装完成界面:数据库MySQL安装过程配置MySQL安装完成后,点击“Finish”后进入配置界面,我们点击“Next”开始进行配置。数据库MySQL安装过程进入选择配置类型界面:采用默认选项,点击“Next”。数据库MySQL安装过程进入选择服务器类型界面:采用默认选项,点击“Next”。数据库MySQL安装过程进入选择数据库用途界面:采用默认选项,点击“Next”。数据库MySQL安装过程进入InnoDB表空间设置界面:采用默认选项,点击“Next”,数据库MySQL安装过程数据库MySQL安装过程进入并发连接设置选项界面:采用默认设置,点击“Next”。进入网络选项设置界面:采用默认设置,点击“Next”。数据库MySQL安装过程进入字符集设置界面:这里不采用默认设置,选择“BestSupportForMultilingualism”,或者选择第三项,在下拉列表框中选择gbk或gb2312,中文字符集。然后点击“Next”。数据库MySQL安装过程进入Windows选项设置界面:这里不采用默认设置,而是把所有选项都选上,然后点击“Next”。数据库MySQL安装过程进入安全选项设置界面:设置超级用户root的密码。然后点击“Next”。数据库MySQL安装过程进入准备执行配置界面:点击“Execute”按钮。数据库MySQL安装过程进入完成配置界面:数据库MySQL安装过程数据库图形化客户端工具-NavicatforMysqlNavicatforMysql是一个强大的数据库图形界面工具,非常适合作为MySQL的管理界面工具。Navicat下载:如图所示,点击“免费版下载”,就可以下载安装程序了。Navicat的安装比较简单,直接运行安装程序就可以。NavicatforMysql主要使用说明(1)用Navicat连接MySQL①②③NavicatforMysql主要使用说明(2)打开数据库连接NavicatforMysql主要使用说明(3)创建数据库NavicatforMysql主要使用说明(4)打开数据库NavicatforMysql主要使用说明(5)创建表NavicatforMysql主要使用说明(6)查看表中数据MyEclipse中导入数据库驱动包温馨提示:开发JDBC程序之前,务必需要在开发环境中导入数据库驱动包。目前我的驱动包已经放在了C盘根目录下。对于JavaProject,导入方式如下:MyEclipse中导入数据库驱动包MyEclipse中导入数据库驱动包MyEclipse中导入数据库驱动包JDBC完成增删改查实例1增加数据try{Class.forName(com.mysql.jdbc.Driver);//加载MySQL驱动程序//建立与数据库的连接Stringurl=jdbc:mysql://localhost:3306/training;Stringuser=root;Stringpassword=root;Connectioncn=DriverManager.getConnection(url,user,password);Statementstmt=cn.createStatement();//创建Statement对象stmt.executeUpdate(“insertuser(name,password,isenable)values(‘张三’,‘123’,1)”);//向数据库增加数据}catch(Exceptione){e.printStackTrace();}finally{if(stmt!=null)try{stmt.close();}catch(SQLExceptione){e.printStackTrace();}if(cn!=null)try{cn.close();}catch(SQLExceptione){e.printStackTrace();}}JDBC完成增删改查实例2删除数据try{Class.forName(com.mysql.jdbc.Driver);//加载MySQL驱动程序//建立与数据库的连接Stringurl=jdbc:mysql://localhost:3306/training;Stringuser=root;Stringpassword=root;Connectioncn=DriverManager.getConnection(url,user,password);Statementstmt=cn.createStatement();//创建Statement对象stmt.executeUpdate(“deletefromuserwherename=‘张三’);//从数据库删除数据}catch(Exceptione){e.printStackTrace();}finally{if(stmt!=null)try{stmt.close();}catch(SQLExceptione){e.printStackTrace();}if(cn!=null)try{cn.close();}catch(
本文标题:第8章-JDBC编程
链接地址:https://www.777doc.com/doc-3209926 .html