mysql中不能存儲(chǔ)數(shù)組,但是可以通過(guò)傳入的字符串截取成多個(gè)字符然后傳入到臨時(shí)表中,然后使用游標(biāo)或者直接關(guān)聯(lián)表過(guò)濾數(shù)據(jù)來(lái)儲(chǔ)存。
堅(jiān)守“ 做人真誠(chéng) · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價(jià)值觀,專業(yè)網(wǎng)站建設(shè)服務(wù)10余年為成都被動(dòng)防護(hù)網(wǎng)小微創(chuàng)業(yè)公司專業(yè)提供企業(yè)網(wǎng)站制作營(yíng)銷網(wǎng)站建設(shè)商城網(wǎng)站建設(shè)手機(jī)網(wǎng)站建設(shè)小程序網(wǎng)站建設(shè)網(wǎng)站改版,從內(nèi)容策劃、視覺(jué)設(shè)計(jì)、底層架構(gòu)、網(wǎng)頁(yè)布局、功能開(kāi)發(fā)迭代于一體的高端網(wǎng)站建設(shè)服務(wù)。
具體步驟如下所示:
1、創(chuàng)建數(shù)據(jù)庫(kù),就如下圖所示一樣。
2、根據(jù)學(xué)生編號(hào)批量刪除學(xué)生信息,如下圖所示。
3、聲明初始化變量,看到以下畫面。
4、獲取傳入?yún)?shù)數(shù)組長(zhǎng)度,創(chuàng)建臨時(shí)表,所輸入的如下圖所示。
5、截取數(shù)組字符串并依次存入到臨時(shí)表中供后面業(yè)務(wù)使用。
import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.LinkedList;import java.util.List;public class DataToArray { public static void main(String[] args) throws Exception { String url = "jdbc:mysql://localhost:3306/test";// 改成你的數(shù)據(jù)庫(kù)連接 Connection conn = DriverManager.getConnection(url, "root", "fuhaiwei");// 改成你用戶名密碼 String sql = "select * from user";// 改成你的查詢語(yǔ)句 PreparedStatement prestmt = conn.prepareStatement(sql); ResultSet rs = prestmt.executeQuery(); Object[][] data = getDataArray(rs); printArray(data); rs.close(); prestmt.close(); conn.close(); } private static void printArray(Object[][] data) { for (int i = 0; i data.length; i++) { for (int j = 0; j data[i].length; j++) { System.out.print(data[i][j] + " "); } Syste...
返回?cái)?shù)組,也是返回一列,沒(méi)有試過(guò)兩列。
可以考慮先返回?cái)?shù)據(jù),然后放到數(shù)據(jù)中。
把數(shù)組轉(zhuǎn)換成字符串后再存入數(shù)據(jù)庫(kù)
參考函數(shù):
implode() ---把數(shù)組轉(zhuǎn)換成字符串
explode() ---把字符串轉(zhuǎn)換成數(shù)組
手冊(cè)里有詳細(xì)說(shuō)明
序列化以后存儲(chǔ).
對(duì)于一維數(shù)組可以簡(jiǎn)單的用
implode
explode
函數(shù)做數(shù)組——串的變換,但需注意分隔符要使用數(shù)組中不存在的字符
對(duì)于多維數(shù)組可以用序列化函數(shù)處理
serialize
unserialize
函數(shù)的用法手冊(cè)中都有
package?db;
import?java.sql.Connection;
import?java.sql.DriverManager;
import?java.sql.SQLException;
/**
*?
*?數(shù)據(jù)庫(kù)連接類,通用
*?
*?@author?lsy
*?
*/
public?class?DBConnection?{
public?static?final?String?driver?=?"com.mysql.jdbc.Driver";//?驅(qū)動(dòng)
public?static?final?String?url?=?"jdbc:mysql://localhost:3306/mydb";//?mysql固定的URL:jdbc:mysql://localhost:3306/數(shù)據(jù)庫(kù)名(我這里是mydb)
public?static?final?String?user?=?"root";//?我的數(shù)據(jù)庫(kù)的用戶名
public?static?final?String?pwd?=?"123";//?我的數(shù)據(jù)庫(kù)密碼
public?static?Connection?dBConnection()?{
Connection?con?=?null;
try?{
//?加載mysql驅(qū)動(dòng)器
Class.forName(driver);
//?建立數(shù)據(jù)庫(kù)連接
con?=?DriverManager.getConnection(url,?user,?pwd);
}?catch?(ClassNotFoundException?e)?{
System.out.println("加載驅(qū)動(dòng)器失敗");
e.printStackTrace();
}?catch?(SQLException?e)?{
System.out.println("注冊(cè)驅(qū)動(dòng)器失敗");
e.printStackTrace();
}
return?con;
}
}
package?dao;
import?java.sql.Connection;
import?java.sql.PreparedStatement;
import?java.sql.ResultSet;
import?java.sql.SQLException;
import?db.DBConnection;
/**
*?
*?取出數(shù)據(jù),存到二維數(shù)組里
*?
*?@return?flowers
*?@author?lsy
*/
public?class?SelectData?{
public?static?final?String?SELECT?=?"select*?from?iris_PCA";
public?static?final?int?k?=?4;//?4個(gè)屬性
public?double[][]?getFlowers()?throws?SQLException?{
Connection?con?=?DBConnection.dBConnection();
ResultSet?rs;//?創(chuàng)建結(jié)果集
PreparedStatement?pstmt?=?con.prepareStatement(SELECT);//?創(chuàng)建一個(gè)PreparedStatement對(duì)象
rs?=?pstmt.executeQuery();
//?為初始化數(shù)組的大小提供方便
int?sample?=?0;
while?(rs.next())?{
sample++;
}
double[][]?flower?=?new?double[sample][k];
rs?=?pstmt.executeQuery();//?特別重要,否則取到的全是0。因?yàn)閳?zhí)行上面的while(rs.next())后,ResultSet對(duì)象的下標(biāo)已指到0。
//?API:當(dāng)生成ResultSet對(duì)象的Statement對(duì)象關(guān)閉、重新執(zhí)行或用來(lái)從多個(gè)結(jié)果的序列獲取下一個(gè)結(jié)果時(shí),ResultSet對(duì)象將自動(dòng)關(guān)閉。
for?(int?i?=?0;?rs.next();?i++)?{
for?(int?j?=?0;?j??k;?j++)?{
flower[i][j]?=?rs.getDouble(j?+?2);
}
}
//?輸出二維數(shù)組
System.out.println("花花:?");
for?(int?i?=?0;?i??flower.length;?i++)?{
for?(int?j?=?0;?j??flower[0].length;?j++)?{
System.out.print(flower[i][j]?+?"\t");
}
System.out.println();
}
pstmt.close();
rs.close();
con.close();
return?flower;
}
public?static?void?main(String[]?args)?{
try?{
SelectData?selectData?=?new?SelectData();
selectData.getFlowers();
}?catch?(SQLException?e)?{
//?TODO?Auto-generated?catch?block
e.printStackTrace();
}
}
}