本文目錄一覽:
java中ODBC資料庫技術
知道JDBC就沒有必要知道ODBC了,ODBC無非是比JDBC多了一個中間橋樑,就是數據源,JDBC是直接連接資料庫,比ODBC性能高很多。
SQL語句其實都一樣,就是連接資料庫的方式不一樣。
不同的就是java.sql.Connection對象的獲得方式
JDBC:
Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);
conn
=
DriverManager.getConnection(“jdbc:sqlserver://localhost:1433;database=資料庫名稱”,”用戶名”,”密碼”);//需要微軟提供的jdbc架包
ODBC:
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
conn
=
DriverManager.getConnection(“jdbc:odbc:數據源名稱”);
注意ODBC需要在系統的管理工具中配置和上面「數據源名稱」名稱相同的數據源,其他操作都一樣
如何用Java通過ODBC連接MySQL
/**
* 構造方法
*
* @param dbHost
* 域名
* @param dbPort
* 埠
* @param dbName
* 名稱
* @param userName
* 用戶名
* @param userPwd
* 用戶密碼
*/
public iMysql(String dbHost, String dbPort, String dbName, String userName, String userPwd) {
try {
Class.forName(“com.mysql.jdbc.Driver”);
} catch (Exception e) {
e.printStackTrace();
}
try {
_connection = DriverManager.getConnection(“jdbc:mysql://IP地址:埠/資料庫名稱”, userName, userPwd);
_statement = (Statement) _connection.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
}
怎樣JAVA通過JDBC-ODBC橋訪問數據源,配置數據源
導入java.sql包
一、載入要連接資料庫的驅動程序
//Jdbc-Odbc橋 和 Microsoft Access 資料庫
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
// SQL Server 驅動程序:
Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”);
註:Class.forName()方法將給定的類載入到JVM,如果系統中不存在給定的類,則會引發異常
二、通過驅動程序管理器得到連接實例
Connection conn=null;
//1.
//1.1建立數據源
conn=DriverManager.getConnection(“jdbc:odbc:MyDataSource”); //MyDataSource是數據源名稱
//1-2、不建立數據源
conn=DriverManager.getConnection(“jdbc:odbc:;Driver=Microsoft Access Driver (*.mdb);DBQ=C:\\VBTest.mdb”);
//2.SQL Server
conn=DriverManager.getConnection(“jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=mydb”,”sa”,””);
註:DriverManager類跟蹤已註冊的驅動程序,通過getConnection(URL)方法, 找到一個能夠連接至URL中指定的資料庫驅動程序
它接收三個參數, 分別表示1 數據源的名稱、類型 2 用戶名(可選) 3 密碼(可選)
三、基於連接對象建立處理器對象
Statement stmt=conn.createStatement();
四、準備sql命令
String sql=”select * from Student”;
五、執行命令返回結果集
ResultSet rs=stmt.executeQuery(sql);
六、顯示結果集
while(rs.next())//只要後面有記錄
{
//對當前行的所有欄位遍歷
for(int i=1;i=rs.getMetaData().getColumnCount();i++)
{
System.out.print(rs.getMetaData().getColumnName(i)+”: “);//顯示欄位名
System.out.println(rs.getString(i));//顯示欄位當前值
}
System.out.println();
}
七、關閉資源
rs.close(); //關閉記錄集
stmt.close(); //關閉處理器對象
conn.close(); //關閉連接對象
預處理器的應用:
//3.基於連接對象建立預處理器對象
PreparedStatement pstmt=conn.prepareStatement(“insert into student values(?,?,?,?)”);
//4.給預處理對象的參數賦值
pstmt.setString(1,”8888″);
pstmt.setString(2,”nemo”);
pstmt.setString(3,”accp”);
pstmt.setString(4,”sanxianglu”);
//5.執行預處理命令
int i=pstmt.executeUpdate();
System.out.println(i+”條記錄已成功插入!”);
原創文章,作者:NZCK,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/135728.html