java資料庫例子
A. 求一個簡單又經典的java與資料庫例子,要有源代碼哦!
//下面的是連接mysql的例子
package com.song.struts.mySql;
import javax.swing.JComponent;
import java.sql.*;
import java.util.*;
// import com.borland.dx.sql.dataset.*;
public class mySqlDao extends JComponent {
private String UserName="root";
private String PWD="root";
private String url;
private Connection cn;
private Statement stmt;
private ResultSet rs = null;
public mySqlDao(){
try {
Class.forName("org.gjt.mm.mysql.Driver");
}
catch(java.lang.ClassNotFoundException e){
System.err.println("mydb() org.gjt.mm.mysql.Driver: " + e.getMessage());
}
catch(Exception e) {
e.printStackTrace();
}
}
//////////////////////////////
///返回mysql 連接,connection
/////////////////////////////
public Connection Connect(String dbname,String ip){
try{
String hostip=ip;
Properties myP = new Properties();
myP.setProperty("useUnicode","true");
myP.setProperty("characterEncoding","GB2312");
url="jdbc:mysql://"+hostip+":3306/"+dbname+"?user="+UserName+"&password="+PWD+"";
if(cn!=null){
cn.close();
}
cn=DriverManager.getConnection(url,myP);
stmt= cn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
System.out.println("db connect success");
return cn;
}
catch(Exception e){
System.err.println("db connect err"+e.getMessage());
return null;
}
}
//////////////////////////////////
///關閉連接
/////////////////////////////////
public void close(){
try{
if(stmt!=null){
stmt.close();
}
if(cn!=null){
cn.close();
}
System.err.println("db colse success");
}
catch(Exception e){
System.err.println("db close err"+e.getMessage());
}
}
/////////////////////////////////////////////
// 用於進行記錄的查詢操�?,用於select 語句�?
//參數:sql語句�?
//返回:ResultSet對象
///////////////////////////////////////////
public ResultSet executeSelect(String sql) {
try {
stmt=cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery(sql);
return rs;
}
catch(SQLException ex) {
System.err.println("db.executeQuery: " + ex.getMessage());
return null;
}
}
//////////////////////////////////////////////
//用於進行add或�?�update,insert,del等的記錄的操�?,
//入口參數:sql語句
//返回 :true,false
//////////////////////////////////////////////
public boolean executeUpdate(String sql) {
boolean bupdate=false;
try{
stmt=cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
int rowCount = stmt.executeUpdate(sql);
if (rowCount!=0)
bupdate=true;
}
catch(SQLException ex) {
System.err.println("db.executeUpdate: " + ex.getMessage());
}
return bupdate;
}
//////////////////////////////////////////////
//用於進行表結構的操作,creat drop,modify等�??
//入口參數:sql語句
//返回 :true,false
//////////////////////////////////////////////
public boolean executeTable(String sql) {
boolean bupdate=false;
try {
stmt= cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
System.out.print("對表的操作的sqlis :||"+sql+"||");
stmt.executeUpdate(sql);
bupdate=true;
}
catch(SQLException ex) {
System.err.println("db.executeTable: "+ex.getMessage());
}
return bupdate;
}
//////////////////////////
//返回資料庫的信息
//////////////////////////
public Statement getLWPAIDStatement(){
try{
return cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
}
catch(java.sql.SQLException e){
System.err.println("getAISPStatement():"+e.getMessage());
return null;
}
}
public DatabaseMetaData getLWPAIDMetaData(){
try{
return cn.getMetaData();
}
catch(java.sql.SQLException e){
System.err.println("getAISPMetaData():"+e.getMessage());
return null;
}
}
public static void main(String args[]){
mySqlDao a=new mySqlDao();
a.Connect("mydb", "localhost");
int b=-100;
ResultSet rs=a.executeSelect("select max(bill_id) from t_bill limit 1");
try{
while(rs.next()){
System.out.println("is in");
b=rs.getInt(1);
}
}catch(Exception e){
e.printStackTrace();
}
System.out.println(b);
// java.util.Date date=new java.util.Date();
// System.out.println(date.toString());
// a.executeTable("insert into t_user values(100,'123','1345')");
// a.executeTable("update t_user set insert_date='"+date.toString()+"' where user_id=100");
a.close();
System.out.print(new pub().asc2unicode("�?!"));
}
}
B. java中使用JDBC連接資料庫的步驟
在Java中使用JDBC連接資料庫,首先需要載入驅動,這可以通過以下代碼實現:class.forName("驅動所在類及包名"),並且需要導入相應的jar包。接著,使用DriverManager.getConnection方法建立資料庫連接,其參數包括資料庫連接URL、用戶名和密碼,代碼示例如下:
java.sql.Connection conn = DriverManager.getConnection(URL,USERNAME,PASSWORD);
構建SQL查詢語句,例如查詢表中特定欄位的數據。SQL語句如下:
String sql = "SELECT * FROM tableName WHERE id=?";
通過Connection對象獲取PreparedStatement對象,用於執行預編譯的SQL語句。使用如下代碼:
java.sql.PreparedStatement ptmt = conn.prepareStatement(sql);
設置預編譯SQL語句的參數,比如設置id值。代碼如下:
ptmt.setInt(1,id值);
執行查詢並返回結果集,結果集對象用於獲取查詢結果。代碼如下:
java.sql.ResultSet rs = ptmt.executeQuery();
遍歷結果集並處理數據,例如列印欄位值。代碼示例如下:
while(rs.next){ System.out.println(rs.getString("欄位名")); }
完成數據操作後,要關閉資料庫連接、PreparedStatement對象和結果集對象,以釋放資源。代碼如下:
conn.close();ptmt.close();rs.close();
以上步驟涵蓋了使用JDBC連接資料庫的基本流程,確保代碼的執行效率和資源的有效管理。
C. java中資料庫到底是一個什麼東西有什麼用謝謝。。
資料庫不是java中才有
資料庫,database,知名見意,就是"存數據的庫",是一種專門提供存放數據的功能的軟體
舉個例子,你剛開始學java,都是列印到控制台之類的小程序,當哪一天,要求你把列印出來的內容存到電腦上,你怎麼辦?沒錯,第一個辦法就是寫到文件裡面.
可是,當哪一天,讓你處理很多很多個列印內容,並且都要存下來的時候,你怎麼辦?
你可以都寫在文件裡面沒有問題.
現在又有要求了,讓你把你之前列印的內容給取出來,並且需要取內容中包含你的名字的.
好了,你就得寫讀取文件的處理,並且找到這些內容.
資料庫最終的處理,就是把數據寫到文件裡面,並且提供方法讓你以後讀取這些內容,也就是非常完美的幫你解決了3中的問題
那這個有什麼用呢?
再舉個例子:你打游戲,游戲進行到一般,你要存檔.你以為存檔是做了什麼?其實就是把當前的游戲運行的數據存到資料庫裡面.等你讀檔的時候再取出來.
舉得例子非常簡單.再舉一個,比如這個網路知道.你提的問題為什麼網路在1年以後還能給你顯示出來,你以為它存在哪的?
D. Java代碼通過JDBC實現資料庫的增刪改查(CRUD)操作
在開發Java程序中,經常需要與資料庫進行交互,完成增刪改查(CRUD)操作。JDBC(Java Database Connectivity)為Java程序提供了與資料庫進行交互的介面,是實現這一功能的常用工具。本節將詳細闡述如何通過Java代碼使用JDBC實現資料庫CRUD操作,包含小技巧、JDBC安裝步驟、主程序注意事項以及屬性配置文件的創建。
小技巧之一:在字元串中插入變數時,可以使用 "+" 運算符將變數轉換為字元串。例如,`"Hello " + variableName`,這樣可以將變數安全地插入到字元串中,避免直接拼接可能出現的格式問題或異常。
安裝JDBC驅動時,首先訪問 MySQL官網下載頁面,下載最新版的JDBC驅動並解壓到任意目錄。接著,在集成開發環境(IDE)中,如 IntelliJ IDEA,導入該驅動。導入步驟如下圖所示(註:圖中已假設驅動已成功導入)。
為了確保主程序不發生SQL注入錯誤,通常遵循以下原則:使用參數化查詢,而非字元串拼接方式構建SQL語句。這樣可以有效避免通過外部輸入影響SQL語句的邏輯,確保程序安全。在實際操作中,大多數情況下遵循這一原則即可避免SQL注入問題。不過,在處理用戶輸入數據時仍需謹慎,對於少部分特殊情況進行特殊處理,以確保安全。
為了更好地管理資料庫連接屬性,推薦使用屬性配置文件。創建該文件通常在當前類的src目錄下,命名為jdbc.properties。在該文件中,可以定義資料庫連接的相關屬性,如資料庫URL、用戶名、密碼等,如下面的示例內容:
properties
# jdbc.properties內容示例
# 資料庫連接屬性配置
url=jdbc:mysql://localhost:3306/your_database
username=your_username
password=your_password
