A. java list用法
這樣很合理,現在主流也都是這樣做的
一般是將數據封裝到對象裡面,如你返回的是學生信息,則這個list裡面放的就是一個個的student對象
還有一種是存的map對象,這個map裡面存的是相應資料庫的欄位名和內容的映射
B. java怎麼把資料庫的東西導入LIST中
本例使用 mysql 資料庫,演示將資料庫 test 的 tb_users 表中的用戶信息存儲到 List 中
代碼如下:
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
importjava.util.ArrayList;
importjava.util.List;
//用戶類,存儲單個用戶信息
classUser{
privateintid;
privateStringname;
publicUser(intid,Stringname){
this.id=id;
this.name=name;
}
publicintgetId(){
returnid;
}
publicvoidsetId(intid){
this.id=id;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
@Override
publicStringtoString(){
return"User[id="+id+",name="+name+"]";
}
}
publicclassDemo1{
publicstaticvoidmain(String[]args)throwsClassNotFoundException,SQLException{
//本例使用mysql資料庫,演示將資料庫test的tb_users表中的用戶信息
//放到List中
//載入數據驅動
Class.forName("com.mysql.jdbc.Driver");
//資料庫連接字元串,此例資料庫為test
Stringurl="jdbc:mysql://localhost:3306/test";
Stringuser="root"; //資料庫用戶名
Stringpassword=""; //資料庫密碼
//打開一個數據連接
Connectionconn=DriverManager.getConnection(url,user,password);
Statementstmt=conn.createStatement();
//獲取表tb_users所有用戶信息到結果集中
ResultSetrs=stmt.executeQuery("SELECTid,nameFROMtb_users");
//定義一個存放用戶信息的List
List<User>users=newArrayList<>();
//提取用戶信息,並將用戶信息放入List
while(rs.next()){
//獲取用戶ID
intid=rs.getInt(1);
//獲取用戶名
Stringname=rs.getString(2);
users.add(newUser(id,name));
}
rs.close();
stmt.close();
conn.close();
//顯示用戶信息
for(Useru:users){
System.out.println(u);
}
}
}
C. java 資料庫操作 list
不知道你的資料庫連接是怎麼實現的。如果是使用hibernate實現的話,可以建兩個hibernate文件,每個都對應不用的資料庫。然後在hibernate的 sessionfactory裡面配置就可以了。在類裡面根據需求去sessionfactory裡面根據名字調用。 package com.alpha.util;import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;public class HibernateSessionFactory { private static SessionFactory jsprun;
private static SessionFactory mylegist;
static {
jsprun = new Configuration().configure("hbn-jsprun.cfg.xml").buildSessionFactory();
mylegist = new Configuration().configure("/hbn-mylegist.cfg.xml").buildSessionFactory();
} /**根據DBName判斷調用哪個sessionFactory的openSession()方法*/
public static Session getSessionByDB(String DBName) {
Session s = null; if (DBName == "mylegist") {
if (!mylegist.isClosed())
s = mylegist.openSession();
} else if (DBName == "jsprun") {
if (!jsprun.isClosed())
s = jsprun.openSession();
} else {
System.out.println("錯誤的 DBName!");
} return s;
} /**根據DBName判斷調用哪個sessionFactory的close()方法*/
public static void closeSessionFactoryByDB(String DBName) { if (DBName == "mylegist") {
if (!mylegist.isClosed()) {
mylegist.close();
}
} else if (DBName == "jsprun") {
if (!jsprun.isClosed()) {
jsprun.close();
}
} else {
System.out.println("錯誤的 DBName!");
}
}
}
D. java 怎麼往內存里存放 list
最簡單的方法建一個類,里邊定義一個靜態的list成員變數,每次去list時檢查,如果list為null就資料庫查詢,如果list已經存在,就直接返回存在的list就行了,高級點的,加個時間比較,超過一定的時間間隔獲取list就去資料庫查詢後獲得,如果沒有超時的就直接返回保存的list。
如果有需要可以自己寫一個緩存管理器,用來把需要的
數據緩存
在內存中,並且在根據自定義的時間間隔或事件觸發自動更新緩存。
E. java讀資料庫存入list
你存入到list裡面的是以個對象,所以列印出來的是LDF@1c6f579 這種形式的內存地址,
而rs.getString(1);是結果集里的一個數據(sql語句查詢對應的欄位)當然可以 。
System.out.println(it.next()); 這句裡面的it.next() 是一個對象 你要的是對象里的屬性 你說怎麼能列印出來。
可以這樣寫LDF ldf =(LDF)it.next(); system.out.print(ldf.getA()+ldf.getB()+ldf.getC());不知道這樣寫你能不能明白
F. java 資料庫操作 list使用
創建一個vo對象類,其中屬性有class_No,student_Name,teacher_Name,st_No
list使用泛型存儲創建的對象類。
將jdbc得到的值通過set屬性方法給創建的對象賦值然後存放在list中。
再使用的時候遍歷list拿到對象,通過get屬性方法即可。
G. java中訪問一個資料庫把讀取的結果保存為list
代碼不好寫
首先得有一個數據結構
就是一條記錄的class
class
xx{
string
field=null;
//field的
set
和
get方法
}
新建一個list
然後遍歷一個表所有行
初始化一個
xx類
每行中的變數
付給xx的欄位
list中加入一個xx
這樣就形成一個list
希望有點幫助
H. 關於java中的List的問題
while(it.hasNext())這句是正序.這句意思就是從第一個開始,有下一個的話繼續遍歷.
while(it2.hasPrevious())這句是倒序遍歷.這句就是從最後一個開始,有上一個的話繼續遍歷.
previous跟next不覺得很熟悉么,這倆就是上一個跟下一個的意思.
I. java 用返回的list去查詢資料庫,返回list
分析你的邏輯應該如下:
1、查詢表1中符合條件的信息,獲取一個結果集合1;
2、基於結果集合1循環,檢索表2,獲取結果集合2。
如此,如果表1、表2間存在直接關聯關系(即直接使用結果集合1中的部分信息作為表2查詢的條件),那麼完全可以在後台將兩張表關聯查詢,這樣避免了通過java進行循環,在大數量級情況下會嚴重佔用內存。
如果表1,表2間沒有直接的關聯關系(即通過循環表1,判斷其中條件後按照其它的特定對照值去查詢表2),那麼仍然建議使用後台表關聯查詢,及將表1查詢的結果集按照不同的條件獲取的值轉換成對應的映射值後作為一個基準集合,然後將這個集合與表2關聯查詢即可。具體的sql語句,得根據你使用的資料庫和具體場景去編寫。
總之,此類情況,完全可以交由資料庫搞定,如果使用你現在的邏輯(即查詢表1,循環結果集1,然後查詢表2,獲取結果集2),雖然原則上沒有錯,但會增加很多內存開銷,在大數據量級的情況下,非常容易出現內存溢出的異常,並不作為合理的編碼方式。
J. java中 如何從LIST 查找指定元素的位置
//先用contains判斷是否有該元素
if(list集合.contains(對象)){
list集合.indexOf(對象名);
}
因為List 是一個元素有序的、可以重復、可以為 null的集合;
所以;
indexOf可以獲取元素出現的第一個位置的引索,與之相反的是lastlndexOf獲取元素最後出現的位置引索,如果集合中沒有該元素則返回-1,其原理都是利用equals方法配合歷遍來判斷。
C++中list用法詳解
.1list中的構造函數:
list() 聲明一個空列表;
list(n) 聲明一個有n個元素的列表,每個元素都是由其默認構造函數T()構造出來的
list(n,val) 聲明一個由n個元素的列表,每個元素都是由其復制構造函數T(val)得來的
list(n,val) 聲明一個和上面一樣的列表
list(first,last) 聲明一個列表,其元素的初始值來源於由區間所指定的序列中的元素