1、加載驅(qū)動(dòng)程序。
在正陽(yáng)等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需定制制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營(yíng)銷,成都外貿(mào)網(wǎng)站建設(shè)公司,正陽(yáng)網(wǎng)站建設(shè)費(fèi)用合理。
2、創(chuàng)建連接對(duì)象。
3、創(chuàng)建sql語(yǔ)句執(zhí)行對(duì)象 。
4、執(zhí)行sql語(yǔ)句。
5、對(duì)執(zhí)行結(jié)果進(jìn)行處理。
6、關(guān)閉相關(guān)的連接對(duì)象即可(順序跟聲明的順序相反)。
處理結(jié)果兩種情況:
1、執(zhí)行更新返回的是本次操作影響到的記錄數(shù)。
2、執(zhí)行查詢返回的結(jié)果是一個(gè)ResultSet對(duì)象。
ResultSet包含符合SQL語(yǔ)句中條件的所有行,并且它通過(guò)一套get方法提供了對(duì)這些 行中數(shù)據(jù)的訪問(wèn)。
擴(kuò)展資料:
Statement
要執(zhí)行SQL語(yǔ)句,必須獲得java.sql.Statement實(shí)例,Statement實(shí)例分為以下3 種類型:
1、執(zhí)行靜態(tài)SQL語(yǔ)句。通常通過(guò)Statement實(shí)例實(shí)現(xiàn)。
2、執(zhí)行動(dòng)態(tài)SQL語(yǔ)句。通常通過(guò)PreparedStatement實(shí)例實(shí)現(xiàn)。
3、執(zhí)行數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程。通常通過(guò)CallableStatement實(shí)例實(shí)現(xiàn)。
參考資料:百度百科JAVA
下面是一個(gè)從 mysql 數(shù)據(jù)庫(kù)獲取用戶信息的例子,可以參考一下:
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;
//?用戶類,存儲(chǔ)單個(gè)用戶信息
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?數(shù)據(jù)庫(kù),演示將數(shù)據(jù)庫(kù)?test?的?tb_users?表中的用戶信息
//?放到?List?中
//?加載數(shù)據(jù)驅(qū)動(dòng)
Class.forName("com.mysql.jdbc.Driver");
//?數(shù)據(jù)庫(kù)連接字符串,?此例數(shù)據(jù)庫(kù)為?test
String?url?=?"jdbc:mysql://localhost:3306/test";
String?user?=?"root";????//?數(shù)據(jù)庫(kù)用戶名
String?password?=?"";????//?數(shù)據(jù)庫(kù)密碼
//?打開(kāi)一個(gè)數(shù)據(jù)連接
Connection?conn?=?DriverManager.getConnection(url,?user,?password);
Statement?stmt?=?conn.createStatement();
//?獲取表?tb_users?所有用戶信息到結(jié)果集中
ResultSet?rs?=?stmt.executeQuery("SELECT?id,?name?FROM?tb_users");
//?定義一個(gè)存放用戶信息的?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);
}
}
}
沒(méi)有java方法對(duì)sql的語(yǔ)句進(jìn)行計(jì)算。java就java;sql就是sql。語(yǔ)法不能相容。只有你把查回來(lái)的數(shù)據(jù),再進(jìn)行判斷。或者把java里進(jìn)行判斷的語(yǔ)句轉(zhuǎn)化為sql能查詢的語(yǔ)句進(jìn)行查找。如果你要的判斷條件很復(fù)雜,可以在sql中使用子查詢等一些高級(jí)用法。
我個(gè)人覺(jué)得sql語(yǔ)句用的好的話可以查到所有你想要的結(jié)果。Oracle是個(gè)很好的數(shù)據(jù)庫(kù),除了標(biāo)準(zhǔn)的sql語(yǔ)句外,還有它自己的一些特殊用法。
要使用Java編寫(xiě)超市購(gòu)物程序,您需要使用Java數(shù)據(jù)庫(kù)編程技術(shù)來(lái)連接到您的數(shù)據(jù)庫(kù)并執(zhí)行相關(guān)的數(shù)據(jù)庫(kù)操作。在Java中,您可以使用JDBC(Java數(shù)據(jù)庫(kù)連接)API來(lái)連接到數(shù)據(jù)庫(kù)并執(zhí)行SQL語(yǔ)句。例如,您可以使用JDBC API來(lái)執(zhí)行以下操作:
創(chuàng)建數(shù)據(jù)庫(kù)連接
執(zhí)行增刪改查(CRUD)操作
提交或回滾事務(wù)
執(zhí)行存儲(chǔ)過(guò)程和函數(shù)
查詢數(shù)據(jù)庫(kù)元數(shù)據(jù)
此外,您還可以使用Java的面向?qū)ο缶幊碳夹g(shù)來(lái)封裝數(shù)據(jù)庫(kù)操作,以便更方便地在您的程序中使用。例如,您可以創(chuàng)建一個(gè)類來(lái)表示超市商品,并定義一些方法來(lái)執(zhí)行商品的增刪改查操作。這樣,您就可以在程序中通過(guò)調(diào)用這些方法來(lái)簡(jiǎn)單地完成對(duì)數(shù)據(jù)庫(kù)的操作,而不需要編寫(xiě)復(fù)雜的SQL語(yǔ)句。
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("數(shù)據(jù)庫(kù)連接成功");
} else {
System.out.println("數(shù)據(jù)庫(kù)連接失敗");
connection.close();
}
return connection;
}
public void getResult() throws ClassNotFoundException, SQLException {
// 實(shí)例化 Statement 對(duì)象
Statement statement = getConnection().createStatement();
// 要執(zhí)行的 Mysql 數(shù)據(jù)庫(kù)操作語(yǔ)句(增、刪、改、查)
String sql = "";
// 展開(kāi)結(jié)果集數(shù)據(jù)庫(kù)
ResultSet resultSet = statement.executeQuery(sql);
while (resultSet.next()) {
// 通過(guò)字段檢索
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
// 輸出數(shù)據(jù)
System.out.println("ID : " +id);
System.out.println("name :" + name);
}
// 完成后需要依次關(guān)閉
resultSet.close();
statement.close();
getConnection().close();
}
}
DbConnect
db
=
DbConnect.
getInstance
();
這是一個(gè)連接數(shù)據(jù)庫(kù)的類(你自己寫(xiě)的),初始化
db相當(dāng)一個(gè)別名,可以點(diǎn)出(.)該類里面的方法
Connection
conn
=
db.getConnect();
db.getConnect();這個(gè)方法
應(yīng)該是你
寫(xiě)的一個(gè)連接方法了,返回的是Connection
類型,所以用他接收
此時(shí)已經(jīng)連接的數(shù)據(jù)庫(kù)了。接下來(lái)你要對(duì)數(shù)據(jù)庫(kù)做什么····
String
sql="select
*from
(select
*from
notice_hanchao
order
by
insert_time
desc)";
一條sql查詢語(yǔ)句
PreparedStatement
ps
=
conn.prepareStatement(sql);
conn.prepareStatement(sql);數(shù)據(jù)庫(kù)對(duì)
sql語(yǔ)句
判斷和執(zhí)行,返回的是PreparedStatement
所以用他接收
ResultSet
rs
=
ps.executeQuery();
執(zhí)行sql語(yǔ)句后要接收吧,ps.executeQuery();返回一個(gè)
結(jié)果集
,用ResultSet
去接收
接下來(lái)你可以打印了
rs.getString(1);
rs.get類型(1);
rs.getString(2);
rs.get類型(2);········
不懂就去問(wèn)你們老師吧···我只能這么寫(xiě)了··希望能幫助你
網(wǎng)頁(yè)標(biāo)題:數(shù)據(jù)庫(kù)調(diào)用java代碼 用java開(kāi)發(fā)數(shù)據(jù)庫(kù)
本文網(wǎng)址:http://aaarwkj.com/article6/hhhjog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、微信公眾號(hào)、動(dòng)態(tài)網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)公司、網(wǎng)站設(shè)計(jì)公司、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)