<!-- /* Font Definitions */ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} @font-face {font-family:"/@宋体"; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideograph; mso-pagination:none; font-size:10.5pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:宋体; mso-font-kerning:1.0pt;} /* Page Definitions */ @page {mso-page-border-surround-header:no; mso-page-border-surround-footer:no;} @page Section1 {size:595.3pt 841.9pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:42.55pt; mso-footer-margin:49.6pt; mso-paper-source:0; layout-grid:15.6pt;} div.Section1 {page:Section1;} -->
今天学习了如何用 java 连接数据库,并对数据库进行操作,主要是研究了对 oracle 数据库的连接,笔者认为其他数据库的连接原理差不多,只是各自的驱动,连接方式不一样了,本例中使用的是 thin 驱动程序。
Java 数据库连接(JDBC )API 是一系列能够让Java 编程人员访问数据库的接口,各个开发商的接口并不完全相同,在客户端软件开发中一般使用Thin 驱动程序,在开发Java 软件方面,Oracle 的数据库提供了四种类型的驱动程序,二种用于应用软件、applets 、servlets 等客户端软件,另外二种用于数据库中的Java 存储过程等服务器端软件。在客户机端软件的开发中,我们可以选择OCI 驱动程序或Thin 驱动程序。
OCI 驱动程序利用Java 本地化接口(JNI ),通过Oracle 客户端软件与数据库进行通讯。Thin 驱动程序是纯Java 驱动程序,它直接与数据库进行通讯。为了获得最高的性能,Oracle 建议在客户端软件的开发中使用OCI 驱动程序
在此笔者总结了8种常用数据库驱动和URl的连接:
1. MySQL
Driver
:
org.gjt.mm.mysql.Driver
URL
:
jdbc:mysql://MyDbComputerNameOrIP:3306/myDatabaseName
=
data
2. PostgreSQL
org.postgresql.Driver
jdbc:postgresql://MyDbComputerNameOrIP/myDatabaseName
=
data
3. Oracle
oracle.jdbc.driver.OracleDriver
jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORC
4. Sybase
com.sybase.jdbc2.jdbc.SybDriver
jdbc:sybase:Tds:MyDbComputerNameOrIP:2638
5. Microsoft SQLServer
(
jtds
)
net.sourceforge.jtds.jdbc.Driver
jdbc:jtds:sqlserver://MyDbComputerNameOrIP:1433;DatabaseName=myDb
6. Microsoft SQLServer
com.microsoft.jdbc.sqlserver.SQLServerDriver
jdbc:microsoft:sqlserver://MyDbComputerNameOrIP:1433;databaseName=master
7. ODBC
sun.jdbc.odbc.JdbcOdbcDriver
jdbc:odbc:dbsource
8.DB2(
新添加
)
com.ibm.db2.jdbc.net.DB2Driver
jdbc:db2://192.9.200.108:6789/SAMPLE
另附上今天的代码:
package project1;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import oracle.jdbc.driver.OracleDriver;
public class HelloWorld {
public Connection conn;
public HelloWorld() {
}
public void ps(){
System.out.println("now this is my first java project for jdeveloper!!");
}
public void connectionDB() throws SQLException{
String url = "jdbc:oracle:thin:@127.0.0.1:1521:XE";
String userName = "fkprod";
String passWord = "fkprod";
try{
//注册jdbc和oracle数据库驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
DriverManager.registerDriver(new OracleDriver());
//新建一个驱动
OracleDriver driver = new OracleDriver();
//通过url,用户名,密码建立连接
conn = DriverManager.getConnection(url,userName,passWord);
//关闭自动提交功能
conn.setAutoCommit(false);
//调用conn下的方法,创建Statement对象
Statement stmt = conn.createStatement();
String sql = "select * from jobs";
String sql2 = "insert into jobs(JOB_ID,JOB_TITLE,MIN_SALARY,MAX_SALARY)values('WENGKY','CHINA',10,100)";
//更新表
stmt.executeUpdate(sql2);
//执行sql,获得ResultSet对象
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
//获得表中字段名为JOB_ID的数据
System.out.println(rs.getString("JOB_ID"));
}
//关闭ResultSet对象
rs.close();
stmt.close();
conn.close();
}catch(ClassNotFoundException e){
System.out.println(e.getMessage());
}
}
public static void main(String[] args) throws SQLException {
HelloWorld helloWorld = new HelloWorld();
helloWorld.ps();
helloWorld.connectionDB();
}
}