在WebRoot下lib中添加jar會自動導入Web App Libraries,myeclipse才能訪問mysqljava
一、先檢查mysql看看咱們用的表給存在mysql
二、在src建一個test包下的Databasetest類sql
package tset;數據庫
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;編程
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;app
/*使用JDBC鏈接數據庫MySQL的過程
* DataBase:user
* table:tbuser
* */
public class Databasetest { /*新建的java類*/
private static int count;eclipse
public static Connection getConnection() throws SQLException,
java.lang.ClassNotFoundException
{
//(1)加載MySQL的JDBC的驅動 Class.forName("com.mysql.jdbc.Driver");
//取得鏈接的url,能訪問MySQL數據庫的用戶名,密碼,數據庫名
String url = "jdbc:mysql://localhost:3306/user";
String username = "root";
String password ="1234";
//(2)建立與MySQL數據庫的鏈接類的實例
Connection con = (Connection) DriverManager.getConnection(url, username, password);
return con;
}
public static void main(String args[]) {
try
{
//(3)獲取鏈接實例con,用con建立Statement對象實例 sql_statement
Connection con = getConnection();
Statement sql_statement = (Statement) con.createStatement();
//插入語句
String sql = "insert into tb_user(uid,username,password,email,code,state)values(2,'張三','123456','ad1234@qq.com','3567','1')";
count=sql_statement.executeUpdate(sql);編程語言
//(4)執行查詢,用ResultSet類的對象,返回查詢結果
String query = "select * from tb_user";
ResultSet result = sql_statement.executeQuery(query);
System.out.println("用戶數據以下:");
System.out.println("------------------------");
System.out.println("uid " + "username " + " password"+" email"+" code"+" state");
System.out.println("------------------------");
//對得到的查詢結果進行處理,對Result類的對象進行操做
while (result.next())
{
int number=result.getInt("uid");
String name=result.getString("username");
String password=result.getString("password");
String email=result.getString("email");
String code=result.getString("code");
int state=result.getInt("state");
System.out.println("編號:" + number + " 用戶名:" + name + " 密碼:" +password+" 郵箱:"+email+" 激活碼:"+code+" 是否激活:"+state);
//取得數據庫中的數據
}
//關閉鏈接和聲明 sql_statement.close();
con.close();
} catch(java.lang.ClassNotFoundException e) {
//加載JDBC錯誤,所要用的驅動沒有找到
System.err.print("ClassNotFoundException");
//其餘錯誤 ui
System.err.println(e.getMessage());
} catch (SQLException ex) {url
//顯示數據庫鏈接錯誤或查詢錯誤
System.err.println("SQLException: " + ex.getMessage());
}
}
}
結果:用戶數據以下:
------------------------
uid username password email code state
------------------------
編號:1 用戶名:劉越 密碼:ASDFGH123 郵箱:1213384875@qq.com 激活碼:5678 是否激活:1
編號:2 用戶名:張三 密碼:123456 郵箱:ad1234@qq.com 激活碼:3567 是否激活:1
java.sql 包中包含用於如下方面的 API:
經過 DriverManager 實用程序創建與數據庫的鏈接
DriverManager 類:創建與驅動程序的鏈接
SQLPermission 類:代碼在 Security Manager(好比 applet)中運行時提供權限,試圖經過 DriverManager 設置一個記錄流
Driver 接口:提供用來註冊和鏈接基於 JDBC 技術(「JDBC驅動程序」)的驅動程序的 API,一般僅由 DriverManager 類使用
DriverPropertyInfo 類:提供 JDBC 驅動程序的屬性,不是供通常用戶使用的向數據庫發送 SQL 語句
Statement:用於發送基本 SQL 語句
PreparedStatement:用於發送準備好的語句或基本 SQL 語句(派生自 Statement)
CallableStatement:用於調用數據庫存儲過程(派生自 PreparedStatement)
Connection 接口:提供建立語句以及管理鏈接及其屬性的方法
獲取和更新查詢的結果
ResultSet 接口
SQL 類型到 Java 編程語言中的類和接口的標準映射關係
Array 接口:SQL ARRAY 的映射關係
Blob 接口:SQL BLOB 的映射關係
Clob 接口:SQL CLOB 的映射關係
Date 類:SQL DATE 的映射關係
NClob 接口:SQL NCLOB 的映射關係
Ref 接口:SQL REF 的映射關係
RowId 接口:SQL ROWID 的映射關係
Struct 接口:SQL STRUCT 的映射關係
SQLXML 接口:SQL XML 的映射關係
Time 類:SQL TIME 的映射關係
Timestamp 類:SQL TIMESTAMP 的映射關係
Types 類:提供用於 SQL 類型的常量
自定義映射 SQL 用戶定義類型 (UDT) 到 Java 編程語言中的類
SQLData 接口:指定 UDT 到此類的一個實例的映射關係
SQLInput 接口:提供用來從流中讀取 UDT 屬性的方法
SQLOutput 接口:提供用來將 UDT 屬性寫回流中的方法
DatabaseMetaData 接口:提供有關數據庫的信息
ResultSetMetaData 接口:提供有關 ResultSet 對象的列的信息
ParameterMetaData 接口:提供有關 PreparedStatement 命令的參數的信息
異常
SQLException:由大多數方法在訪問數據出問題時拋出,以及由於其餘緣由由其餘一些方法拋出
SQLWarning:爲了指示一個警告而拋出
DataTruncation:爲了指示數據可能已經被截斷而拋出
BatchUpdateException:爲了指示並非批量更新中的全部命令都成功執行而拋出