本文目錄一覽:
- 1、mySQL在java中的應用
- 2、Java如何連接MySQL資料庫進行操作
- 3、MYSQL在JAVA中的使用問題
- 4、如何使用Java訪問MySQL資料庫
- 5、如何使用Java與Mysql進行數據交互
- 6、如何在Java程序中訪問mysql資料庫中的數據並進行簡單的操作
mySQL在java中的應用
Java連接Mysql詳解
Part I: 驅動/數據源類名, URL語法, Connector/J的屬性配置.假設你應經安裝好了mysql, 和mysql-connector-java-X.X.X-bin.jar
Mysql Connector/J通過com.mysql.jdbc.Driver來實現java.sql.Driver, 同時類名org.gjt.mm.mysql.Driver依舊可用, 以保持向前兼容MM.Mysql.
MySQL的JDBC URL格式如下:
如果沒有明確指定host(主機名), 默認為127.0.0.1, 埠號默認是3306
如果不指定資料庫名, 不會有默認的資料庫, 這樣的話, 你可以調用Connection的setCatalog()方法, 或者在SQL中明確指定所用的資料庫. 這種情況只在為多個資料庫建立工具時有用. 例如建立GUI資料庫管理器.
JDBC應該永遠不使用USE database來指定資料庫, 應該用Connection.setCatalog()方法.
MySQL Connector/J支持fail-over模式, 使用fail-over模式, 必須將connection的autoCommit設置為true.
如果URL的autoReconnect設置為false: Failover會發生在連接初始化時, failback出現在驅動器使第一個主機在此可用時.
如果URL的autoReconnect屬性時true, Failover發生在驅動決定connection失敗時(在每次查詢之前), falls back到第一個主機, 當它決定這個主機在此可用時.
在以上提到的兩種情況中, 無論何時你連接到一個”failed-over”伺服器, 這個連接將會是制度的, 因此, 修改數據的查詢, 將會引發異常.
Configuration properties定義Connctor/J將怎樣連接到MySQL伺服器. 除了特別聲明, 這些屬性可以設置在DataSource或Connection object中.
Configuration properties可以按照下面的方式進行設置:
①使用MysqlDataSource或MysqlConnectionPoolDataSource的set*()方法.
②以java.util.Properties的key/value對的形式傳遞給DriverManager.getConnection() 或Driver.connect()
③作為JDBC URL的參數傳給java.sql.DriverManger.getConnection()
java.sql.Driver.connect()或MySQL實現的javax.sql.DataSource setURL() 方法.
注意: 如果你用來確定JDBC URL的機制是XML-based, 你需要使用XML字元 來分隔參數.
Java如何連接MySQL資料庫進行操作
下面是一個從 mysql 資料庫獲取用戶信息的例子,可以參考一下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
// 用戶類,存儲單個用戶信息
class User {
private int id;
private String name;
public User(int id, String name) {
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return “User [id=” + id + “, name=” + name + “]”;
}
}
public class Demo1 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 本例使用 mysql 資料庫,演示將資料庫 test 的 tb_users 表中的用戶信息
// 放到 List 中
// 載入數據驅動
Class.forName(“com.mysql.jdbc.Driver”);
// 資料庫連接字元串, 此例資料庫為 test
String url = “jdbc:mysql://localhost:3306/test”;
String user = “root”; // 資料庫用戶名
String password = “”; // 資料庫密碼
// 打開一個數據連接
Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement();
// 獲取表 tb_users 所有用戶信息到結果集中
ResultSet rs = stmt.executeQuery(“SELECT id, name FROM tb_users”);
// 定義一個存放用戶信息的 List
ListUser users = new ArrayList();
// 提取用戶信息,並將用戶信息放入 List
while (rs.next()) {
// 獲取用戶ID
int id = rs.getInt(1);
// 獲取用戶名
String name = rs.getString(2);
users.add(new User(id, name));
}
rs.close();
stmt.close();
conn.close();
// 顯示用戶信息
for (User u : users) {
System.out.println(u);
}
}
}
MYSQL在JAVA中的使用問題
while (result.next())
改成 hashnext();
ArrayList list = dao.select(sql);
Iterator iterator = list.iterator();
while(iterator.hasNext()){
oram.FlowEvent t =(oram.FlowEvent)iterator.next();
out.println(t.getEventId()+” “+t.getByname()
類似這樣 就不會溢出了
如何使用Java訪問MySQL資料庫
第1步 獲取Java與MySQL的連接器
第2步 將下載的包存放在自己機器上jdk安裝目錄下面的jre目錄下面的lib目錄下面的ext目錄中,在程序中導入與資料庫操作相關的對象
import java.sql.Connection; //導入資料庫連接對象
import java.sql.DriverManager; //導入資料庫驅動管理對象
import java.sql.ResultSet; //導入數據記錄集對象
import java.sql.SQLException; //導入數據SQL操作異常對象
import java.sql.Statement; //導入SQL操作介面對象
第3步:在程序中寫入如下內容
String url; //連接資料庫的字元串
String sql; //執行數據sql查詢操作的字元串
Connection conn; //資料庫連接變數
Statement st; //資料庫操作對象
ResultSet rs; //數據記錄集對象
url = “jdbc:mysql://localhost:3306/test?user=rootpassword=”; //在程序中只要修改這句,就可以實現資料庫連接
try {
conn = DriverManager.getConnection(url);
st = conn.createStatement();
sql = “select * from test”; //只要修改這句,就可以實現各種查詢操作
rs=st.executeQuery(sql); //執行數據查詢
while(rs.next())
{
System.out.println(rs.getString(1)); //獲得數據表test中第1個欄位的數據,該欄位為字元串類型
System.out.println(rs.getString(2)); //獲得數據表test中第2個欄位的數據,該欄位為字元串類型
}
rs.close(); //關閉數據記錄集
conn.close(); //關閉資料庫連接
} catch (SQLException e) {
System.out.println(“Error:”+e.toString()+e.getMessage());
}
如何使用Java與Mysql進行數據交互
使用jdbc驅動 六個步驟
創建鏈接
載入驅動
獲取示例
執行sql語句
獲取結果集
關閉連接
代碼示例
import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class DbDemo {
public static void main(String[] args) { // TODO Auto-generated method stub
ResultSet result = null;
Connection con = null;
Statement statement = null; try { // 第0步:將mysql 的jdbcjar包加入到引用庫中來
// 第一步:將想要連接的資料庫驅動類載入到JVM中來,載入過程中並向DriverManager註冊Driver
// 成功載入後,會將Mysql的驅動Driver類的實例註冊到DriverManager類中。
//使得下面我們獲取Connection只需要通過DriverManager就可以了。我不需要通過每個資料庫具體的Driver。
Class.forName(“com.mysql.jdbc.Driver”).newInstance(); // 第二步,通過DriverManager獲取一個和mysql的連接實例con
String JDBCUrl = “jdbc:mysql://localhost:3306/test?useUnicode=truecharacterEncoding=utf-8”;//
String userName = “root”;
String password = “1557862201”; // 接受一個jdbcurl,username,password;
con = DriverManager.getConnection(JDBCUrl, userName, password); // 第三步:通過con連接獲取到Statement實例,執行sql語句
statement = con.createStatement();// statement實例是用於一些不帶參數的sql執行,查詢,更新,插入,刪除操作都可以但是需要構建一個沒有佔位符的sql字元串
// 第四步,statement執行sql語句,查詢到的結果集到ResultSet實例,簡單查詢,沒有where語句的查詢
result = statement.executeQuery(“select * from student”); // 第五步:從結果集中獲取數據
while (result.next()) { // 根據test庫中student表格列名讀取數據
int id = result.getInt(“id”);
String name = result.getString(“_stuName”);
String number = result.getString(“_stuNumber”);
String Grade = result.getString(result.findColumn(“_stuGrade”));
String Address = result.getString(result.findColumn(“_stuAddress”));
System.out
.println(“name= ” + name + ” number= ” + number + ” Grade= ” + Grade + ” Address= ” + Address);
} // 插入語句
// statement.executeUpdate(“”);
insert(statement); // 執行帶參數的查詢,有where語句的查詢
int id = 2;
executeQuery(con, id); // 執行更新操作
updateDate(con, 2);
delete(con, “XX”);// 刪除數據行
} catch (ClassNotFoundException e) { // TODO Auto-generated catch block
System.out.println(“找不到驅動程序類 ,載入驅動失敗!”);
e.printStackTrace();
} catch (InstantiationException e) { // TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) { // TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException ex) { // TODO Auto-generated catch block
System.out.println(“SQLException: ” + ex.getMessage());
System.out.println(“SQLState: ” + ex.getSQLState());
System.out.println(“VendorError: ” + ex.getErrorCode());
ex.printStackTrace();
} finally { // 第六步:釋放資源
/**
* 關閉JDBC對象 操作完成以後要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲 明順序相反: 1、關閉記錄集
* 2、關閉聲明 3、關閉連接對象
*/
if (result != null) {// 關閉結果集
try {
result.close();
} catch (SQLException e) { // TODO Auto-generated catch block
e.printStackTrace();
}
result = null;
} if (statement != null) {// 關閉執行sql語句代碼塊
try {
statement.close();
} catch (SQLException e) { // TODO Auto-generated catch block
e.printStackTrace();
}
statement = null;
} if (con != null) {// 關閉連接
try {
con.close();
} catch (SQLException e) { // TODO Auto-generated catch block
e.printStackTrace();
}
con = null;
}
}
}
如何在Java程序中訪問mysql資料庫中的數據並進行簡單的操作
//載入驅動Class.forName(“com.mysql.jdbc.Driver”); //獲取資料庫連接String user = “root” ,password = “mysql”,url=”jdbc:mysql://localhost:3306/test??characterEncoding=utf8″;Connection connection = DriverManager.getConnection(url, user, password); //增加String sql = “insert into t1(id,name) values(?,?)”;PreparedStatement statement = connection.prepareStatement(sql);statement.setString(1, “123123123”);statement.setString(2, “jdbc”);System.out.println(statement.executeUpdate()); //查詢sql = “select * from t1”;Statement query = connection.createStatement();ResultSet rs = query.executeQuery(sql);while(rs.next()){System.out.println(rs.getString(“id”)+”,”+rs.getString(“name”));} //修改sql = “update t1 set name = ? where id = ?”;statement = connection.prepareStatement(sql);statement.setString(1, “java”);statement.setString(2, “123123123”);System.out.println(statement.executeUpdate()); //刪除sql = “delete from t1 where id = ?”;statement = connection.prepareStatement(sql);statement.setString(1, “123123123”);System.out.println(statement.executeUpdate()); connection.close();
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/298222.html