⑴ 如何通過JDBC來訪問Mysql資料庫資料庫鏈接:test,資料庫名:com,用戶名:r
JDBC連接mysql資料庫,實際代碼如下:
//注冊驅動:把驅動類載入到內存中
//注意:5.1版本驅動包中驅動類名:com.mysql.jdbc.Driver
//橡侍餘8.0版本驅動類名:com.mysql.cj.jdbc.Driver
Class.forName("com.mysql.cj.jdbc.Driver");
//與資料庫建立連接
Connection conn = DriverManager.getConnection("jdbc:mysql://談輪localhost:3306/com","root","1root");
//關閉連接:如果不再使用連接需要斷開連接以釋放資源(底梁滾層是TCP/IP協議和IO流操作)
conn.close();
//程序能正常編譯執行表示連接成功,如果拋異常表示連接失敗。
⑵ jdbcl連接資料庫的代碼
try {
//load the jdbc driver ;
//DRIVER URL自己寫
/*
*jdbc:mysql://<hostname>[<:3306>]/<dbname>
*jdbc:sqlserver://<server_name>:<port>[;databaseName=<dbname>]
*jdbc:derby://<server_name>:<port>/<databaseName>[;create=true]
*jdbc:postgresql:[<//host>[:<5432>/]]<database>
*/
DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
String url =" jdbc:oracle:thin:@<server>[:<1521>]:<database_name>"
//這個自己寫
String userName =""
//這個自己寫
String userPsw = ""
conn = DriverManager.getConnection(url, userName, userPsw);
//set if autoCommit
conn.setAutoCommit(false);
} catch (Exception ex) {
throw new Exception("connDB Init error." + ex.getMessage());
}
⑶ 求用jdbc 連接資料庫的java代碼(只連接部分即可)
public Connection getConnection(){//事先導入驅動
try{
Class.forname("sun.jdbc.odbc.jdbcodbcDriver");//載入驅動
System.out.println("驅動載入完畢");
}catch(ClassNotFoundException e){
e.printStackTrace();
}
try{
Connecion con=DriverManager.getConnecion("jdbc:odbc:資料庫名成","用戶名","密碼");//創建連接對象,即已經連接到資料庫
system.out.println("連接成功!");
}
catch(exception e){
e.printStackTrace();
}
}
⑷ 怎樣使用jdbc訪問mysql資料庫
JDBC連接MYSQL資料庫:
package cn.outofmemory.test;
import java.sql.Connection;
import java.sql.DriverManager;
public class Mysql {
public static void main(String arg[]) {
try {
Connection con = null; //定義一個MYSQL鏈接對象
Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL驅動
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "root"); //鏈接本地MYSQL
System.out.print("yes");
} catch (Exception e) {
System.out.print("MYSQL ERROR:" + e.getMessage());
}
}
}
Class.forName("com.mysql.jdbc.Driver").newInstance(); 我們鏈接的是MYSQL資料庫,所以需要一個MYSQL的資料庫驅動,如果你的環境中沒有安裝,
可以下載:mysql-connector-java-5.1.17-bin.jar JAR包,然後放進jdk1.6.0_37\jre\lib\ext 重啟eclispe 就可以在JRE系統庫中看到。
con = DriverManager.getConnection;("jdbc:mysql://127.0.0.1:3306/test", "root", "root"); 是鏈接資料庫的語句,
返回Connection con;對象。參數格式:("jdbc:mysql://ip:埠/資料庫名稱", 用戶名,密碼)
寫入一條數據
package main;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Mysql {
/**
* 入口函數
* @param arg
*/
public static void main(String arg[]) {
try {
Connection con = null; //定義一個MYSQL鏈接對象
Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL驅動
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "root"); //鏈接本地MYSQL
Statement stmt; //創建聲明
stmt = con.createStatement();
//新增一條數據
stmt.executeUpdate("INSERT INTO user (username, password) VALUES ('init', '123456')");
ResultSet res = stmt.executeQuery("select LAST_INSERT_ID()");
int ret_id;
if (res.next()) {
ret_id = res.getInt(1);
System.out.print(ret_id);
}
} catch (Exception e) {
System.out.print("MYSQL ERROR:" + e.getMessage());
}
}
}
stmt.executeUpdate INSERT; DELETE; UPDATE;語句都用executeUpdate函數來操作
stmt.executeQuery SELECT;語句都用stmt.executeQuery函數來操作
ResultSet res = stmt.executeQuery;("select LAST;_INSERT_ID()");
查詢最後插入數據的ID號,返回ResultSet res;對象
刪除和更新數據
package main;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Mysql {
/**
* 入口函數
* @param arg
*/
public static void main(String arg[]) {
try {
Connection con = null; //定義一個MYSQL鏈接對象
Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL驅動
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "root"); //鏈接本地MYSQL
Statement stmt; //創建聲明
stmt = con.createStatement();
//新增一條數據
stmt.executeUpdate("INSERT INTO user (username, password) VALUES ('init', '123456')");
ResultSet res = stmt.executeQuery("select LAST_INSERT_ID()");
int ret_id;
if (res.next()) {
ret_id = res.getInt(1);
System.out.print(ret_id);
}
//刪除一條數據
String sql = "DELETE FROM user WHERE id = 1";
long deleteRes = stmt.executeUpdate(sql); //如果為0則沒有進行刪除操作,如果大於0,則記錄刪除的條數
System.out.print("DELETE:" + deleteRes);
//更新一條數據
String updateSql = "UPDATE user SET username = 'xxxx' WHERE id = 2";
long updateRes = stmt.executeUpdate(updateSql);
System.out.print("UPDATE:" + updateRes);
} catch (Exception e) {
System.out.print("MYSQL ERROR:" + e.getMessage());
}
}
}
刪除和更新數據都使用stmt.executeUpdate函數。
刪除和更新數據都會返回一個Long的結果,如果為0,則刪除或者更新失敗,如果大於0則是操作刪除的記錄數
查詢語句
package main;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
public class Mysql {
/**
* 入口函數
* @param arg
*/
public static void main(String arg[]) {
try {
Connection con = null; //定義一個MYSQL鏈接對象
Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL驅動
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "root"); //鏈接本地MYSQL
Statement stmt; //創建聲明
stmt = con.createStatement();
//新增一條數據
stmt.executeUpdate("INSERT INTO user (username, password) VALUES ('init', '123456')");
ResultSet res = stmt.executeQuery("select LAST_INSERT_ID()");
int ret_id;
if (res.next()) {
ret_id = res.getInt(1);
System.out.print(ret_id);
}
//刪除一條數據
String sql = "DELETE FROM user WHERE id = 1";
long deleteRes = stmt.executeUpdate(sql); //如果為0則沒有進行刪除操作,如果大於0,則記錄刪除的條數
System.out.print("DELETE:" + deleteRes);
//更新一條數據
String updateSql = "UPDATE user SET username = 'xxxx' WHERE id = 2";
long updateRes = stmt.executeUpdate(updateSql);
System.out.print("UPDATE:" + updateRes);
//查詢數據並輸出
String selectSql = "SELECT * FROM user";
ResultSet selectRes = stmt.executeQuery(selectSql);
while (selectRes.next()) { //循環輸出結果集
String username = selectRes.getString("username");
String password = selectRes.getString("password");
System.out.print("\r\n\r\n");
System.out.print("username:" + username + "password:" + password);
}
} catch (Exception e) {
System.out.print("MYSQL ERROR:" + e.getMessage());
}
}
}
查詢語句使用stmt.executeQuery函數
rs.absolute() //絕對位置,負數表示從後面數
rs.first()第一條
rs.last()最後一條
rs.previoust()前一條
rs.next()後一條
rs.beforeFirst()第一條之前
rs.afterLast()最後之後
rs.isFirst(),rs.isLast(),rs.isBeforeFirst(),rs.isAfterLast
⑸ java連接資料庫的代碼
package mysql;
import java.sql.*;
/**
* @author xys
*/
public class ConnectMysql {
public static Connection getConnection() throws ClassNotFoundException, SQLException {
String url = "jdbc:mysql://localhost:3306/databaseName";
String user = "mysqluser";
String password = "password";
String driverClass = "com.mysql.cj.jdbc.Driver";
Connection connection = null;
Class.forName(driverClass);
try {
connection = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
e.printStackTrace();
}
if (connection != null) {
System.out.println("資料庫連接成功");
} else {
System.out.println("資料庫連接失敗");
connection.close();
}
return connection;
}
public void getResult() throws ClassNotFoundException, SQLException {
// 實例化 Statement 對象
Statement statement = getConnection().createStatement();
// 要執行的 Mysql 資料庫操作語句(增、刪、改、查)
String sql = "";
// 展開結果集資料庫
ResultSet resultSet = statement.executeQuery(sql);
while (resultSet.next()) {
// 通過欄位檢索
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
// 輸出數據
System.out.println("ID : " +id);
System.out.println("name :" + name);
}
// 完成後需要依次關閉
resultSet.close();
statement.close();
getConnection().close();
}
}
⑹ 用Java怎樣訪問資料庫,用什麼代碼
1. 載入一個對應資料庫的JDBC驅動
在建立到一個資料庫的連接之前,必須先載入這個資料庫的JDBC驅動程序,載入之後此driver會自動注冊到JDBC驅動列表中。載入一個JDBC驅動有兩種方法。
a) 在命令行方式下指定驅動器或者用冒號分割驅動器列表:
具體命令如下:
C:\>java –Djdbc.drivers = com.company1.Driver:com.company2.Driver youProject
b)第二種方法,在程序中調用Class.forName()方法。推薦使用。。。。
try
{
String driverName = 「com.imaginary.sql.msql.MsqlDriver」;
Class.forName(driverName).newInstance();
}
Catch(ClassNotFoundException e1)
{
//catch could not find database driver exception.
}
2.連接到資料庫。
根據您後台待連接的資料庫不同,而有小小的差別。
a) 連接到Oracle資料庫。
Connection connection = null ;
try
{
//load the jdbc driver ;
String driverName = 「oracle.jdbc.driver.OracleDriver」;
Class.forName(driverName).newInstance();
//create a connection to the database;
String serverName = 「127.0.0.1」;
String serverPort = 「1521」;
String serverID = 「datebase1」
String userName = 「hello」;
String userPsw = 「world」;
String url = 「jdbc:oracle.thin:@」 + serverName + 「:」 + serverPort + 「:」 + serverID ;
Connection = DriverManager.getConnection(url , userName , userPsw);
}
catch(ClassNotFoundException e1)
{
//catch could not find database driver exception.
}
catch(SQLException e2)
{
//catch could not connect to the database exception.
}
b) 連接到一個SQL Server資料庫。
Connection connection = null ;
try
{
//load the jdbc driver ;
String driverName = 「com.microsoft.jdbc.sqlserver.SQLServerDriver」;
Class.forName(driverName).newInstance();
//create a connection to the database;
String serverName = 「127.0.0.1」;
String serverPort = 「1433」;
String serverID = serverName + serverPort ;
String userName = 「hello」;
String userPsw = 「world」;
String url = 「jdbc:JSQLConnect ://」 + serverID ;
Connection = DriverManager.getConnection(url , userName , userPsw);
}
catch(ClassNotFoundException e1)
{
//catch could not find database driver exception.
}
catch(SQLException e2)
{
//catch could not connect to the database exception.
}
c) 連接到一個MySQL資料庫上。。。。
Connection connection = null ;
try
{
//load the jdbc driver ;
String driverName = 「org.gjt.mm.mysql.Driver」;
Class.forName(driverName).newInstance();
//create a connection to the database;
String serverName = 「127.0.0.1」;
String serverID = 「database」;
String userName = 「hello」;
String userPsw = 「world」;
String url = 「jdbc:mysql ://」 + serverName + 「/」 + serverID ;
Connection = DriverManager.getConnection(url , userName , userPsw);
}
catch(ClassNotFoundException e1)
{
//catch could not find database driver exception.
}
catch(SQLException e2)
{
//catch could not connect to the database exception.
}
綜合上面的三種資料庫連接方式 , 其實大同小異。由於訪問不同的資料庫和所使用的資料庫驅動程序不同,所以導致代碼表面上有小小不同,但透過表面看來,內部都是
1. 載入一個特定的資料庫JDBC驅動。
2. 連接到一個資料庫。
3. 之後,就可以對一個特定的資料庫進行特定的操作了。
附上各種資料庫的JDBC驅動起可用信息網址:
http://java.sun.com/procts/jdbc
對於Oracle資料庫,請參考:
http://otn.oracle.com.software/content.html
對於MySQL資料庫,請參考:
http://mmMySQL.sourceforge.net
對於SQL Server資料庫,有很多的驅動可選,比較常用的:
http://www.microsoft.com/china/sql/downloads/2000/jdbc.asp
http://www.freetds.org
http://www.datadirect-technologies.com