1、jdbc
1) 含义:JDBC是java语言连接数据库,Java Date Base Connectivity
2) jdbc的本质:在编程时java程序会去连接不同的数据库,而每个数据库的底层的实现原理是不同的,所以我们所编写的程序应该是面向一套规范去编写的,这套java语言连接数据库的规范就是jdbc
A、sun公司:
jdbc接口是一套由Sun公司制定的一套Class文件规范,用于规范程序员;
B、数据库厂商:
编写jdbc接口的实现类,并将这些实现类打成jar包,并发布;这些jar包被称为连接数据库的驱动。
C、编程的程序员:
从各类型的数据库官网上面下载jar包,并配置到环境变量Classpath中。若果没有把class文件配置到环境变量classPath,那么代表你只有接口和调用数据,而没有接口的实现类,没有实现类程序是无法运行的。
3) oracle10gi下JDBC驱动包介绍:
Oracle 数据库 10g 第 2 版 (10.2.0.1.0) JDBC 驱动程序针对所有平台的 JDBC 瘦客户端
classes12.jar 用于 JDK 1.2 和 JDK 1.3
classes12_g.jar 与 classes12.jar 一样,除了类通过“javac -g”编译并包含一些跟踪信息
classes12dms.jar 与 classes12.jar 一样,除了另外包含支持 Oracle 动态监视服务的代码。
classes12dms_g.jar 与 classes12dms.jar 一样,除了类通过“javac -g”编译并包含一些跟踪信息。ojdbc14.jar 用于 JDK 1.4 和 1.5 的类
ojdbc14_g.jar 与 ojdbc14.jar 一样,除了类通过“javac -g”编译并包含一些跟踪信息。
ojdbc14dms.jar 与 ojdbc14.jar 一样,除了另外包含支持 Oracle 动态监视服务的代码。
ojdbc14dms_g.jar 与 ojdbc14dms.jar 一样,除了类通过“javac -g”编译并包含一些跟踪信息。
orai18n.jar 用于 JDK 1.2、1.3、1.4 和 1.5 的 NLS 类。该 jar 文件代替旧的 nls_charset jar/zip 文件。
ons.jar 供纯 Java 客户端 Oracle 通知服务 (ONS) 后台程序使用。
demo.tar 或 demo.zip 包含 JDBC 示例程序
|示例:java连接数据库进行查询操作|
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class JDBCTest01 { public static void main(String[] args) { Connection con=null; PreparedStatement prs=null; ResultSet rs=null; try { //步骤1、加载oracle驱动程序 Class.forName("oracle.jdbc.OracleDriver"); String url="jdbc:oracle:thin:@10.125.4.55:1521:orcl"; String user="zhangjunbo"; String password="zjb123"; String sql="select * from student where xuehao='2'"; try { //步骤2、获取连接 con=DriverManager.getConnection(url, user, password); System.out.println(con); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { //步骤3、实例化预编译语句 prs=con.prepareStatement(sql); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } //步骤4、执行查询 try { rs=prs.executeQuery(sql); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { //步骤5、处理查询结果集 while(rs.next()){ System.out.println("姓名:"+rs.getString("xingming")+"\n"+"生日:"+rs.getString("birthday")); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ //逐一将上面的几个对象关闭,不关闭的话会影响性能、并且占用资源 //注意关闭的顺序,最后使用的最先关闭 try { rs.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { prs.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { con.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
|示例:通过配置文件连接数据库进行增删改查|
import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.Properties; public class JDBCTest02 { public static void main(String[] args) throws ClassNotFoundException, SQLException { //创建输入流 FileReader fReader=null; try { fReader=new FileReader("src/JDBC/db.properties"); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } //创建map集合对象 Properties properties=new Properties(); //加载(将输入流中的资源加载到属性类对象中) try { properties.load(fReader); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } String driver=properties.getProperty("driver"); String url=properties.getProperty("url"); String username=properties.getProperty("username"); String password=properties.getProperty("password"); Class.forName(driver); Connection connection=DriverManager.getConnection(url, username, password); //对student表进行修改操作 String sql="update student set xingming=? where xuehao=?"; PreparedStatement pre=connection.prepareStatement(sql); pre.setString(1,"纷纷"); pre.setString(2, "3"); String sqlInsert="insert into student values(20,'寂静','男','','12000',3,20,21)"; PreparedStatement pre2=connection.prepareStatement(sqlInsert); int insertInt=pre2.executeUpdate(); int updateInt=pre.executeUpdate(); System.out.println(updateInt+insertInt); pre.close(); connection.close(); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
基于Oracle文档,我创建了一个钱包 添加凭证 在我的java应用程序中,我想通过这个钱包连接到数据库 但我不知道如何填充连接字符串。我不想使用tnsnames。谢谢
我正在尝试一个程序来检查与oracle数据库的连接,如下所示 但在eclipse中运行之后,它显示了以下异常。 JAVAsql。SQLException:Listener拒绝了连接,出现以下错误:ORA-12505,TNS:Listener当前不知道连接描述符中给出的SID 请帮助我,我是oracle数据库的新手。
本文向大家介绍Java JDBC连接数据库常见操作总结,包括了Java JDBC连接数据库常见操作总结的使用技巧和注意事项,需要的朋友参考一下 本文实例总结了Java JDBC连接数据库常见操作。分享给大家供大家参考,具体如下: db.properties配置文件(MySql数据库) db.properties配置文件(Oracle数据库) JDBC直接连接数据库 通过连接池连接数据库 连接数据库
我想通过R从SQL数据库导入数据。我尝试了太多次(几乎6小时)连接到服务器。我运行这些命令,它显示错误:- jdbcDriver jdbc连接 我认为是司机的问题,但我无法解决。
这里有一个问题,从java连接到Hive,但我的问题不同 我的蜂巢运行在machine1上,我需要使用运行在machine2上的Java服务器传递一些查询。据我所知,Hive有一个JDBC接口,用于接收远程查询。我从这里获取了代码——HiveServer2客户端 我安装了文章中写的依赖项: hive jdbc*。罐子 但是我得到了java。编译时lang.NoClassDefFoundError错
本文向大家介绍Java基于jdbc连接mysql数据库操作示例,包括了Java基于jdbc连接mysql数据库操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java基于jdbc连接mysql数据库操作。分享给大家供大家参考,具体如下: 用JDBC来连接数据库,基本步骤都大同小异,只不过不同的数据库之间的URL有些不同。其基本步骤可分为以下几点: 1、加载相应数据库的JDBC驱动程