本文目錄一覽:
- 1、怎麼使用JAVA連接資料庫?
- 2、java中使用JDBC完成資料庫操作的基本步驟是什麼?
- 3、java 操作 資料庫
- 4、在Java中如何對資料庫中的數據進行操作?
- 5、如何在Java程序中訪問mysql資料庫中的數據並進行簡單的操作
- 6、java怎麼操作資料庫呢?
怎麼使用JAVA連接資料庫?
1、載入驅動程序。
2、創建連接對象。
3、創建sql語句執行對象 。
4、執行sql語句。
5、對執行結果進行處理。
6、關閉相關的連接對象即可(順序跟聲明的順序相反)。
處理結果兩種情況:
1、執行更新返回的是本次操作影響到的記錄數。
2、執行查詢返回的結果是一個ResultSet對象。
ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些 行中數據的訪問。
擴展資料:
Statement
要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3 種類型:
1、執行靜態SQL語句。通常通過Statement實例實現。
2、執行動態SQL語句。通常通過PreparedStatement實例實現。
3、執行資料庫存儲過程。通常通過CallableStatement實例實現。
參考資料:百度百科JAVA
java中使用JDBC完成資料庫操作的基本步驟是什麼?
創建一個以JDBC連接資料庫的程序,包含7個步驟: \x0d\x0a 1、載入JDBC驅動程序: \x0d\x0a 在連接資料庫之前,首先要載入想要連接的資料庫的驅動到JVM(Java虛擬機), \x0d\x0a 這通過java.lang.Class類的靜態方法forName(String className)實現。 \x0d\x0a 例如: \x0d\x0a try{ \x0d\x0a //載入MySql的驅動類 \x0d\x0a Class.forName(“com.mysql.jdbc.Driver”) ; \x0d\x0a }catch(ClassNotFoundException e){ \x0d\x0a System.out.println(“找不到驅動程序類 ,載入驅動失敗!”); \x0d\x0a e.printStackTrace() ; \x0d\x0a } \x0d\x0a 成功載入後,會將Driver類的實例註冊到DriverManager類中。 \x0d\x0a 2、提供JDBC連接的URL \x0d\x0a •連接URL定義了連接資料庫時的協議、子協議、數據源標識。 \x0d\x0a •書寫形式:協議:子協議:數據源標識 \x0d\x0a 協議:在JDBC中總是以jdbc開始 \x0d\x0a 子協議:是橋連接的驅動程序或是資料庫管理系統名稱。 \x0d\x0a 數據源標識:標記找到資料庫來源的地址與連接埠。 \x0d\x0a 例如:(MySql的連接URL) \x0d\x0a jdbc:mysql: \x0d\x0a //localhost:3306/test?useUnicode=truecharacterEncoding=gbk ; \x0d\x0a useUnicode=true:表示使用Unicode字符集。如果characterEncoding設置為 \x0d\x0a gb2312或GBK,本參數必須設置為true 。characterEncoding=gbk:字元編碼方式。 \x0d\x0a 3、創建資料庫的連接 \x0d\x0a •要連接資料庫,需要向java.sql.DriverManager請求並獲得Connection對象, \x0d\x0a 該對象就代表一個資料庫的連接。 \x0d\x0a •使用DriverManager的getConnectin(String url , String username , \x0d\x0a String password )方法傳入指定的欲連接的資料庫的路徑、資料庫的用戶名和 \x0d\x0a 密碼來獲得。 \x0d\x0a 例如: \x0d\x0a //連接MySql資料庫,用戶名和密碼都是root \x0d\x0a String url = “jdbc:mysql://localhost:3306/test” ; \x0d\x0a String username = “root” ; \x0d\x0a String password = “root” ; \x0d\x0a try{ \x0d\x0a Connection con = \x0d\x0a DriverManager.getConnection(url , username , password ) ; \x0d\x0a }catch(SQLException se){ \x0d\x0a System.out.println(“資料庫連接失敗!”); \x0d\x0a se.printStackTrace() ; \x0d\x0a } \x0d\x0a 4、創建一個Statement \x0d\x0a •要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3 \x0d\x0a 種類型: \x0d\x0a 1、執行靜態SQL語句。通常通過Statement實例實現。 \x0d\x0a 2、執行動態SQL語句。通常通過PreparedStatement實例實現。 \x0d\x0a 3、執行資料庫存儲過程。通常通過CallableStatement實例實現。 \x0d\x0a 具體的實現方式: \x0d\x0a Statement stmt = con.createStatement() ; \x0d\x0a PreparedStatement pstmt = con.prepareStatement(sql) ; \x0d\x0a CallableStatement cstmt = \x0d\x0a con.prepareCall(“{CALL demoSp(? , ?)}”) ; \x0d\x0a 5、執行SQL語句 \x0d\x0a Statement介面提供了三種執行SQL語句的方法:executeQuery 、executeUpdate \x0d\x0a 和execute \x0d\x0a 1、ResultSet executeQuery(String sqlString):執行查詢資料庫的SQL語句 \x0d\x0a ,返回一個結果集(ResultSet)對象。 \x0d\x0a 2、int executeUpdate(String sqlString):用於執行INSERT、UPDATE或 \x0d\x0a DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等 \x0d\x0a 3、execute(sqlString):用於執行返回多個結果集、多個更新計數或二者組合的 \x0d\x0a 語句。 \x0d\x0a 具體實現的代碼: \x0d\x0a ResultSet rs = stmt.executeQuery(“SELECT * FROM …”) ; \x0d\x0a int rows = stmt.executeUpdate(“INSERT INTO …”) ; \x0d\x0a boolean flag = stmt.execute(String sql) ; \x0d\x0a 6、處理結果 \x0d\x0a 兩種情況: \x0d\x0a 1、執行更新返回的是本次操作影響到的記錄數。 \x0d\x0a 2、執行查詢返回的結果是一個ResultSet對象。 \x0d\x0a • ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些 \x0d\x0a 行中數據的訪問。 \x0d\x0a • 使用結果集(ResultSet)對象的訪問方法獲取數據: \x0d\x0a while(rs.next()){ \x0d\x0a String name = rs.getString(“name”) ; \x0d\x0a String pass = rs.getString(1) ; // 此方法比較高效 \x0d\x0a } \x0d\x0a (列是從左到右編號的,並且從列1開始) \x0d\x0a 7、關閉JDBC對象 \x0d\x0a 操作完成以後要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲 \x0d\x0a 明順序相反: \x0d\x0a 1、關閉記錄集 \x0d\x0a 2、關閉聲明 \x0d\x0a 3、關閉連接對象 \x0d\x0a if(rs != null){ // 關閉記錄集 \x0d\x0a try{ \x0d\x0a rs.close() ; \x0d\x0a }catch(SQLException e){ \x0d\x0a e.printStackTrace() ; \x0d\x0a } \x0d\x0a } \x0d\x0a if(stmt != null){ // 關閉聲明 \x0d\x0a try{ \x0d\x0a stmt.close() ; \x0d\x0a }catch(SQLException e){ \x0d\x0a e.printStackTrace() ; \x0d\x0a } \x0d\x0a } \x0d\x0a if(conn != null){ // 關閉連接對象 \x0d\x0a try{ \x0d\x0a conn.close() ; \x0d\x0a }catch(SQLException e){ \x0d\x0a e.printStackTrace() ; \x0d\x0a } \x0d\x0a }
java 操作 資料庫
Java連接資料庫是使用具體資料庫的JDBC驅動程序來實現的,每一個資料庫的驅動程序不同。
以下是一段示例代碼:
1.Class.forName(“oracle.jdbc.driver.OracleDriver”).newInstance(); //載入資料庫JDBC驅動,該驅動會自動註冊連接所需信息。
2.String url=”jdbc:oracle:thin:@localhost:1521:orcl”; //定義連接字元串
String user=”test”; //用戶名
String password=”test”; //密碼
3.Connection conn= DriverManager.getConnection(url,user,password);//通過DriverManager獲取資料庫連接引用
4.Statement sql = conn.createStatement(Resultset.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);//生成一個Statement
5.ResultSet rs = sql.executeQuery(“SELECT * FROM 表”);//獲取記錄集引用
6.System.out.println(rs(‘欄位一’));//輸出當前一行表頭為『欄位一』的數據。
以下再提供給你幾個常用資料庫的連接方式(驅動通常都是一個jar包,可以去資料庫提供商官網下載):
1、Oracle8/8i/9i資料庫(thin模式)
Class.forName(“oracle.jdbc.driver.OracleDriver”).newInstance();
String url=”jdbc:oracle:thin:@localhost:1521:orcl”;
//orcl為資料庫的SID
String user=”test”;
String password=”test”;
Connection conn= DriverManager.getConnection(url,user,password);
2、DB2資料庫
Class.forName(“com.ibm.db2.jdbc.app.DB2Driver “).newInstance();
String url=”jdbc:db2://localhost:5000/sample”;
//sample為你的資料庫名
String user=”admin”;
String password=””;
Connection conn= DriverManager.getConnection(url,user,password);
3、Sql Server7.0/2000資料庫
Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”).newInstance();
String url=”jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb”;
//mydb為資料庫
String user=”sa”;
String password=””;
Connection conn= DriverManager.getConnection(url,user,password);
4、Sybase資料庫
Class.forName(“com.sybase.jdbc.SybDriver”).newInstance();
String url =” jdbc:sybase:Tds:localhost:5007/myDB”;
//myDB為你的資料庫名
Properties sysProps = System.getProperties();
SysProps.put(“user”,”userid”);
SysProps.put(“password”,”user_password”);
Connection conn= DriverManager.getConnection(url, SysProps);
5、Informix資料庫
Class.forName(“com.informix.jdbc.IfxDriver”).newInstance();
String url =
“jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;
user=testuser;password=testpassword”;
//myDB為資料庫名
Connection conn= DriverManager.getConnection(url);
6、MySQL資料庫
Class.forName(“org.gjt.mm.mysql.Driver”).newInstance();
String url =”jdbc:mysql://localhost/myDB?user=softpassword=soft1234useUnicode=truecharacterEncoding=8859_1″
//myDB為資料庫名
Connection conn= DriverManager.getConnection(url);
7、PostgreSQL資料庫
Class.forName(“org.postgresql.Driver”).newInstance();
String url =”jdbc:postgresql://localhost/myDB”
//myDB為資料庫名
String user=”myuser”;
String password=”mypassword”;
Connection conn= DriverManager.getConnection(url,user,password);
另外一種方式是針對Windows的,首先建立一個DSN,然後使用Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);和”jdbc:odbc:數據源名稱”來獲取連接引用,不過這樣平台依賴性很大,不推薦這樣做。
希望我的回答對你有所幫助!
在Java中如何對資料庫中的數據進行操作?
package com.dao;import java.sql.*;import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;public class BaseDao {
/**
* 創建資料庫連接及關閉
*/
// 打開連接
public static Connection getConnection() {
Connection con = null; /*************************** oracl 的連接 ***************************************/
// try { // Class.forName(“oracle.jdbc.driver.OracleDriver”);
// con = DriverManager.getConnection(
// “jdbc:oracle:thin:@127.0.0.1:1521:orcl”, “bbs”, “sa”);
// } catch (ClassNotFoundException e) {
// e.printStackTrace();
// } catch (SQLException e) {
// e.printStackTrace();
// }
/******************************* sqlerver 的連接 ******************************/
try {
Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);
con = DriverManager.getConnection(
“jdbc:sqlserver://127.0.0.1:1433;databasename=bbs”, “sa”,
“zhou”);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
/*********************************************************************/
return con;
} // 關閉
public static void closeAll(Connection connection,
PreparedStatement pStatement, ResultSet res) {
try {
if (connection != null (!connection.isClosed())) {
connection.close();
}
if (res != null) {
res.close();
res = null;
}
if (pStatement != null) {
pStatement.close();
pStatement = null;
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
對資料庫增刪改查package com.dao;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;import com.entity.News;public class NewsDao {
Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
/**
* 添加新聞
* @param news
* @return
*/
public boolean newsAdd(News news){
boolean result=false;
String sql=”insert into news values(?,?)”;
con=BaseDao.getConnection();
try {
pstmt=con.prepareStatement(sql);
pstmt.setString(1, news.getContent());
pstmt.setString(2, FormatTime.newTime());
int i = 0;
i = pstmt.executeUpdate();
if (i 0)
result = true;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
/**
* 修改新聞
* @param news
* @return
*/
public boolean updateNews(News news){
boolean result=false;
con=BaseDao.getConnection();
try {
pstmt=con.prepareStatement(“update news set content=? ,writedate=? where newsid=?”);
pstmt.setString(1, news.getContent());
pstmt.setString(2, FormatTime.newTime());
pstmt.setInt(3, news.getNewsID());
int i = 0;
i = pstmt.executeUpdate();
if (i 0)
result = true;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
/**
* 刪除新聞
* @param news
* @return
*/
public boolean deleteNews(News news){
boolean result=false;
String sql=String.format(“delete from news where newsid=%d”, news.getNewsID());
con=BaseDao.getConnection();
try {
pstmt=con.prepareStatement(sql);
int i = 0;
i = pstmt.executeUpdate();
if (i 0)
result = true;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
/**
* 刪除新聞 重載
* @param newsId
* @return
*/
public boolean deleteNews(int newsId){
boolean result=false;
String sql=String.format(“delete from news where newsid=%d”, newsId);
con=BaseDao.getConnection();
try {
pstmt=con.prepareStatement(sql);
int i = 0;
i = pstmt.executeUpdate();
if (i 0)
result = true;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
/**
* 查詢所有的新聞
* @return
*/
public ListNews selectAllNews(){
ListNews list=new ArrayListNews();
String sql=”select * from Users”;
con=BaseDao.getConnection();
try {
pstmt=con.prepareStatement(sql);
rs=pstmt.executeQuery();
while(rs.next()){
News news=new News();
news.setNewsID(rs.getInt(1));
news.setContent(rs.getString(2));
news.setWriteDate(rs.getString(3));
list.add(news);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
BaseDao.closeAll(rs, pstmt, con);
}
return list;
}
/**
* 查詢單個
* @return
*/
public News selectOneNews(){
News news=new News();
con=BaseDao.getConnection();
try {
pstmt=con.prepareStatement(“select top 1 * from news order by newsid desc”);
rs=pstmt.executeQuery();
while(rs.next()){
news.setNewsID(rs.getInt(1));
news.setContent(rs.getString(2));
news.setWriteDate(rs.getString(3));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
BaseDao.closeAll(rs, pstmt, con);
}
return news;
}
}
實體類package com.entity;import java.io.Serializable;
public class News implements Serializable{
private int newsID;
private String content;
private String writeDate; public News() {
super();
// TODO Auto-generated constructor stub
} public News(String content, String writeDate) {
super();
this.content = content;
this.writeDate = writeDate;
} public News(int newsID, String content, String writeDate) {
super();
this.newsID = newsID;
this.content = content;
this.writeDate = writeDate;
} public int getNewsID() {
return newsID;
} public void setNewsID(int newsID) {
this.newsID = newsID;
} public String getContent() {
return content;
} public void setContent(String content) {
this.content = content;
} public String getWriteDate() {
return writeDate;
} public void setWriteDate(String writeDate) {
this.writeDate = writeDate;
}
}
如何在Java程序中訪問mysql資料庫中的數據並進行簡單的操作
一、使用工具:java語言、Myeclipse。
二、操作步驟:
1、第一步:載入MySQL的JDBC的驅動
2、第二步:創建與MySQL資料庫的連接類的實例
3、第三步:獲取連接類實例con,用con創建Statement對象類實例 sql_statement
4、第四步:執行查詢,用ResultSet類的對象,返回查詢的結果
5、得出數據
三、注意事項:有幾處是需要根據自身情況修改的
1、如下圖中的url和賬號,密碼需要與你自己的相一致。
2、這些需要訪問的數據必須要與資料庫中的類型相互匹配,才能列印出正確的結果。
java怎麼操作資料庫呢?
jdbc連接資料庫,DriverManger等初始化連接,prepareStatement語句執行sql,ResultSet拿到執行結果,while result.hasNext循環拿到數據值等。
如果不用jdbc,可以用框架,hibernate,mybatis都是可以的。
詳情可以私聊我,手機打字太累了。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/300665.html