Java如果通过jdbc操作连接oracle数据库
1、jdbc
1)含义:JDBC是java语言连接数据库,JavaDateBaseConnectivity
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用于JDK1.2和JDK1.3
classes12_g.jar与classes12.jar一样,除了类通过“javac-g”编译并包含一些跟踪信息
classes12dms.jar与classes12.jar一样,除了另外包含支持Oracle动态监视服务的代码。
classes12dms_g.jar与classes12dms.jar一样,除了类通过“javac-g”编译并包含一些跟踪信息。ojdbc14.jar用于JDK1.4和1.5的类
ojdbc14_g.jar与ojdbc14.jar一样,除了类通过“javac-g”编译并包含一些跟踪信息。
ojdbc14dms.jar与ojdbc14.jar一样,除了另外包含支持Oracle动态监视服务的代码。
ojdbc14dms_g.jar与ojdbc14dms.jar一样,除了类通过“javac-g”编译并包含一些跟踪信息。
orai18n.jar用于JDK1.2、1.3、1.4和1.5的NLS类。该jar文件代替旧的nls_charsetjar/zip文件。
ons.jar供纯Java客户端Oracle通知服务(ONS)后台程序使用。
demo.tar或demo.zip包含JDBC示例程序
|示例:java连接数据库进行查询操作|
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.SQLException;
publicclassJDBCTest01{
publicstaticvoidmain(String[]args){
Connectioncon=null;
PreparedStatementprs=null;
ResultSetrs=null;
try{
//步骤1、加载oracle驱动程序
Class.forName("oracle.jdbc.OracleDriver");
Stringurl="jdbc:oracle:thin:@10.125.4.55:1521:orcl";
Stringuser="zhangjunbo";
Stringpassword="zjb123";
Stringsql="select*fromstudentwherexuehao='2'";
try{
//步骤2、获取连接
con=DriverManager.getConnection(url,user,password);
System.out.println(con);
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
try{
//步骤3、实例化预编译语句
prs=con.prepareStatement(sql);
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
//步骤4、执行查询
try{
rs=prs.executeQuery(sql);
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}catch(ClassNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
try{
//步骤5、处理查询结果集
while(rs.next()){
System.out.println("姓名:"+rs.getString("xingming")+"\n"+"生日:"+rs.getString("birthday"));
}
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}finally{
//逐一将上面的几个对象关闭,不关闭的话会影响性能、并且占用资源
//注意关闭的顺序,最后使用的最先关闭
try{
rs.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
try{
prs.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
try{
con.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
}
|示例:通过配置文件连接数据库进行增删改查|
importjava.io.FileNotFoundException;
importjava.io.FileReader;
importjava.io.IOException;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.PreparedStatement;
importjava.sql.SQLException;
importjava.util.Properties;
publicclassJDBCTest02{
publicstaticvoidmain(String[]args)throwsClassNotFoundException,SQLException{
//创建输入流
FileReaderfReader=null;
try{
fReader=newFileReader("src/JDBC/db.properties");
}catch(FileNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
//创建map集合对象
Propertiesproperties=newProperties();
//加载(将输入流中的资源加载到属性类对象中)
try{
properties.load(fReader);
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
Stringdriver=properties.getProperty("driver");
Stringurl=properties.getProperty("url");
Stringusername=properties.getProperty("username");
Stringpassword=properties.getProperty("password");
Class.forName(driver);
Connectionconnection=DriverManager.getConnection(url,username,password);
//对student表进行修改操作
Stringsql="updatestudentsetxingming=?wherexuehao=?";
PreparedStatementpre=connection.prepareStatement(sql);
pre.setString(1,"纷纷");
pre.setString(2,"3");
StringsqlInsert="insertintostudentvalues(20,'寂静','男','','12000',3,20,21)";
PreparedStatementpre2=connection.prepareStatement(sqlInsert);
intinsertInt=pre2.executeUpdate();
intupdateInt=pre.executeUpdate();
System.out.println(updateInt+insertInt);
pre.close();
connection.close();
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。