JAVA程序可以用纯JAVA的什么驱动程序,实现与数据库连接。

2024-11-16 15:24:52
推荐回答(3个)
回答(1):

java是被称为跨平台的语言,java里处理数据库可以用JDBC来实现:
JDBC分为编程接口和驱动程序两类,编程接口是sun公司提供的,驱动程序则由数据库公司编写。我们编程的时候使用接口调用驱动,所以不用关心每种数据库的具体差异。

除了连接数据库时代码不一样外,编程接口都是统一的,所以增删改查操作都是一样的。
连接数据库必须要装有相关数据库的驱动程序才行。
连接数据库前,必须要做两件事:
1.创建一个驱动对象
2.用驱动管理器注册驱动对象
在java里可以有三种方式做到以上两件事:(以oracle为例)
1.用类反射机制:Class.forName(<数据库类名>);
Class.forName("oracle.jdbc.driver.OracleDriver");//这段代码
表面作用是获取oracle的类对象,实际上,在这段代码里已经创建了一个oracle的驱动对象,并且在驱动管理器里注册了。(各位可以想想这个对象是在哪个时候创建的?答案我最后揭晓,很有意思的哈)
2.自己创建驱动对象,并且注册。
Driver oracle=new oracle.jdbc.driver.OracleDriver();//创建驱动对象。
DriverManager.register(oracle);//注册驱动程序;
3.利用java虚拟机加载(这个我也不会哈,就不讲了)

下面给一个具体连接数据库的代码:

Class.forName("oracle.jdbc.driver.OracleDriver");
String url="oracle:jdbc:thin:@<数据库IP>:<端口号(默认1521)>:<数据库名>";
String userName="xxx";
String passwd="xxxxxx";
Connection con=DriverManager.getConnection(url,userNme,passwd);//连接数据库了。

Statement s=con.getStatement();//创建数据库操作对象
String sql="select * from .....";
s.executeUpdate(sql);//将sql语句送到数据库,编译执行sql语句。
//数据库资源不会自动释放,所以用完了必须关掉。关闭顺序
ResultSet,Statement,Connection(这里没有用ResultSet所以没有关闭)。
s.closed();
con.closed();

每种数据库都是这么连接和执行的。不同的是数据库类名和url,这些楼主自己去网上搜下很容易找到,楼上诸位都讲了好些。
说下4楼的冗余代码,并且也公布上面问题的答案:
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
newInstance();这句代码是多余的。
因为在类加载的时候,在静态初始化代码块里,已经创建了一个驱动对象,并且已经注册了。

回答(2):

JDBC-ODBC桥桥连接

回答(3):

您好,这样的情况建议您下载最新版本的驱动精灵,或是直接在线升级一下驱动精灵。希望可以帮到您。