java连接数据库主要分几个步骤:
1.注册驱动,驱动是由服务器提供商提供的一个jar包
2.建立连接,写一个连接串。
3.取得一个Statement类,然后可以写SQL了。
1.连接ORACLE数据库
连接oracle是最难的,研究了一天,终于连接上了,分享一下心得,主要是jar包的问题。
网上一般说要用classxxx.jar,或者从官方下载jar,这都不是好办法。class开头的jar是给低版本的JDK1.2用的,而高版本的JDK要用如 ojdbc14.jar 。安装完oracle后,在oracle中找到jdbc文件夹,里面一般都有,我用的是oracle 10g express edition,这个jar在
C:\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib
虽然不同版本的驱动包的名字都一样,但是内容不一样!所以版本不对很有可能导致如 缺少dms包或者IO connection的错误。所以,最好用安装好的Oracle里面的jar。
这个驱动jar怎么用呢?有个简便的办法:
把它复制到C:\Program Files\Java\jdk1.6.0_16\jre\lib\ext,这样netbeans会自动加载这个包,在工程里->库->jdk 1.6(缺省) 里可以看到。连import都省了,此方法同样适用其他的jar。
一般的方法,建一个库,把jar放到里面,然后在工程里添加。或者把jar解开,然后 -classpath ...
接下来就可以写代码了:
import java.sql.*;
import oracle.jdbc.driver.*;
1.注册驱动
方法1:
Class.forName("oracle.jdbc.driver.OracleDriver");
方法2:
DriverManager.deregisterDriver(new oracle.jdbc.driver.OracleDriver() );
2.建立连接。
String dbUrl = "jdbc:oracle:thin:@localhost:1521:XE";
String user ="scott" , pwd = "tiger";
Connection conn = DriverManager.getConnection(dbUrl, user, pwd);
关于这个DBURL的写法,后面是@servername:port:SID(serverid)。怎么知道SID是什么呢,网上一般会写orcl,但我的就是XE,在oracle的 tnsnames.ora 里可以找到,应该是那个文件里的servername项。
此处写错了有可能会报Listener的异常。
// 关于这个我也不了解,但是照着这个方法做就一定会好用。
//worldterminator 原处,转载请注明此处。
3.大功告成。
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("select 20*3 from dual");
rs.next();
System.out.print( rs.getInt(1));
取得Statement类,然后用它来写SQL,返回值给ResultSet,让它来遍历结果。
2.连接MySQL数据库
方法都一样,所以只给出连接串:
Class.forName( "com.mysql.jdbc.Driver" )
conn = DriverManager.getConnection("jdbc:mysql://localhost/test","root","");
test 为数据库的名字。
附一个mysql的jar
//worldterminator 原处,转载请注明此处。