[JAVA100例]053、加载JDBC驱动

import java.sql.*;
/**
* <p>Title: JDBC连接数据库</p>
* <p>Description: 本实例演示如何使用JDBC连接Oracle数据库,并演示添加数据和查询数据。</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Filename: JDBCConn.java</p>
* @version 1.0
*/
public class JDBCConn{
 private String url="";
 private String username="";
 private String password="";
/**
*<br>方法说明:获得数据连接
*<br>输入参数:
*<br>返回类型:Connection 连接对象
*/
 public Connection conn(){
   try {
   //加载JDBC驱动
    Class.forName("oracle.jdbc.driver.OracleDriver");
    //创建数据库连接
    Connection con = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:ORCL", "test", "test");
    return con;
  }catch(ClassNotFoundException cnf){
   System.out.println("driver not find:"+cnf);
   return null;
  }catch(SQLException sqle){
   System.out.println("can´t connection db:"+sqle);
   return null;
  } catch (Exception e) {
    System.out.println("Failed to load JDBC/ODBC driver.");
    return null;
   }
 }
/**
*<br>方法说明:执行查询SQL语句
*<br>输入参数:Connection con 数据库连接
*<br>输入参数:String sql 要执行的SQL语句
*<br>返回类型:
*/
 public void query(Connection con, String sql){
  try{
   if(con==null){
    throw new Exception("database connection can´t use!");
   }
   if(sql==null) throw new Exception("check your parameter: ´sql´! don´t input null!");
   //声明语句
   Statement stmt = con.createStatement();
   //执行查询
   ResultSet rs = stmt.executeQuery(sql);
   ResultSetMetaData rmeta = rs.getMetaData();
   //获得数据字段个数
   int numColumns = rmeta.getColumnCount();
   while(rs.next())
 {
  for(int i = 0;i< numColumns;i++)
  {
 String sTemp = rs.getString(i+1);
 System.out.print(sTemp+" ");
  }
  System.out.println("");
 }
  }catch(Exception e){
   System.out.println("query error:"+e);
  }
 }
/**
*<br>方法说明:执行插入、更新、删除等没有返回结果集的SQL语句
*<br>输入参数:Connection con 数据库连接
*<br>输入参数:String sql 要执行的SQL语句
*<br>返回类型:
*/
  public void execute(Connection con, String sql){
  try{
   if(con==null) return;
   Statement stmt = con.createStatement();
  stmt.executeUpdate(sql);
}catch(Exception e){
   System.out.println("execute error: sql = "+sql);
   System.out.println(e);
  }
 }
/**
*<br>方法说明:实例演示
*<br>输入参数:
*<br>返回类型:
*/
 public void demo(){
  try{
   JDBCConn oc = new JDBCConn();
   Connection conn = oc.conn();
   String sql = "insert into TBL_USER(id,name,password)values(seq_user.nextval,´switch´,´haorenpingan´)";
   oc.execute(conn,sql);
   sql = "select * from TBL_USER";
   oc.query(conn,sql);
   conn.close();
  }catch(SQLException se){
   System.out.println(se);
  }catch(Exception e){
   System.out.println(e);
  }

 }
/**
*<br>方法说明:主方法
*<br>输入参数:
*<br>返回类型:
*/
 public static void main(String[] arg){
  if(arg.length!=3){
   System.out.println("use: java JDBCConn url username password");
   return;
  }
  JDBCConn oc = new JDBCConn();
  oc.url = arg[0];
  oc.username=arg[1];
  oc.password=arg[2];
  oc.demo();
 }
}

时间: 2024-10-28 09:28:17

[JAVA100例]053、加载JDBC驱动的相关文章

加载jdbc驱动时异常

问题描述 环境是:struts1.3hibernate3mssqljdbc的驱动包项目加载时有时会报如下异常:ava.sql.SQLException:AnSQLExceptionwasprovokedbythefollowingfailure:java.lang.SecurityException:class"com.microsoft.sqlserver.jdbc.SQLServerStatement"'ssignerinformationdoesnotmatchsignerinf

Java加载JDBC驱动程序实例详解_java

本文实例说明了Java加载JDBC驱动程序的方法,运行本文实例代码后,如果连接成功就会显示如下一条语句:sun.jdbc.odbc.JdbcOdbcDriver@6ec12,如果连接不成功,则显示加载数据库驱动程序出现异常. Java加载JDBC的实现方法: 通过调用Class.forName()方法可以显式地加载一个驱动程序.该方法的入口参数为要加载的驱动程序.例如:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")语句加载了SUN 公司开发的

无法加载数据库驱动: DbMysql 5.1.48-log

问题描述 无法加载数据库驱动: DbMysql 5.1.48-log 程序运行后出现这个错误,应该怎么解决? 无法加载数据库驱动: DbMysql 5.1.48-log

求助,如何自动加载打印机驱动

问题描述 各位大神,请问如何用AddPrinterDriver加载打印机驱动,网上下了些代码,稍做修改(如下),但执行到AddPrinterDriver时,就报"系统资源不足,无法完成请求的服务",琢磨了好久,也看不出所以然,故请大神指教以下在WIN10环境下运行,用VC6.0编译//Setup.cpp:Definestheentrypointfortheapplication.//#include"stdafx.h"//#include"Winspool

如何动态加载jdbc

问题描述 我做了个插件,需要运行时加载jdbc包,同时还使用了apache的数据源代码如下URLpath=newURL("file:///C:/MyJar/sqljdbc.jar");URLClassLoadercl=URLClassLoader.newInstance(newURL[]{path},Thread.currentThread().getContextClassLoader());Thread.currentThread().setContextClassLoader(c

linux下自动加载设备驱动程序模块

假设你的设备驱动程序为:yourdrivername.ko   1 cp yourdrivername.ko /lib/modules/"version"/kernel/drivers/misc   其中,version为linux的版本,默认为:2.6.23.1-42.fc8   2 编辑/lib/modules/"version"/modules.dep,设置驱动程序之间的关联,增加一行:   /lib/modules/"version"/k

arm上加载insmod驱动时出现Unknown symbol in module

问题 这几天在arm上做蓝牙耳机驱动的时候,编译好了驱动但是在板子上insmod时候. 怎么会出现这种情况,不对呀,仔细查我们会发现,其实编译驱动的时候,就出现了一些警告,只是当时没有在意而已,而恰恰是这些警告导致的这些问题. 硬件设备 板子用的是realarm 内核linux-2.6.35 交叉编译器arm-linux-gcc 4.4.3 问题解析 究其原因,其原因就是我们的驱动找不到内核的几个函数,我们可以看到我们找不到的函数有两个,一个是kill_proc_info 一个是snd_hwde

JDBC的加载驱动与注册驱动有区别吗?

问题描述 Class.forName("")与DriverManager.registerDriver()有区别吗?我是菜鸟希望说详细点 解决方案 解决方案二:Class.forName表示加载一个类.加载一个类并没有实例化这个类,在加载类的同时会初始化这个类中所有的静态成员.静态块和静态方法.根据JDBC规范,Driver的实现类必须在静态块中使用DriverManager.registerDriver()方法将自己注册到驱动管理器中去.这也就是需要执行Class.forName的原

JDBC数据库连接过程及驱动加载与设计模式详解_java

首先要导入JDBC的jar包: 接下来,代码: Class.forName(xxx.xx.xx)返回的是一个类 Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段. JDBC连接数据库 • 创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的静态方法forName(String