下面是一個從 mysql 數據獲取用戶數據的案例,可以參考一下:
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);
}
}
}
B. JAVA變成如何從資料庫中獲取表的一列數據到下拉列表中
創建一個 JComboBox 很遲橘容易看出它有哪些可碼敏團用的方法,比如在 Eclipse 中打個點它就會提示方法列拿轎表。如:
JComboBoxproctTypes=newJComboBox();
proctTypes.removeAllItems();(這個時候打了點,略等半秒就會有方法列表)。
proctTypes.addItem(newOption("001","飲料"));
proctTypes.addItem(newOption("002","餅干"));
proctTypes.addItem(newOption("003","快餐"));
publicclassOption{
privatefinalStringlabel;
privatefinalStringvalue;
publicOption(Stringlabel,Stringvalue){
this.value=value;
this.label=label;
}
publicStringgetLabel(){returnthis.label;}
publicStringgetValue{){returnthis.value;}
publicStringtoString(){
return"["+this.value+"]"+this.label;
}
}
C. java如何讀取資料庫中table1表中的所有數據。
你那表裡面存的是什麼樣的數據呢?就暫且假設你存儲的是User 對象(含有username,pwd等欄位),那麼你就可以這樣獲得table1中所有的數據
PreparedStatement ps=con.prepareStatement("select * from table1");
rs=ps.executeQuery();
List<User> list=new ArrayList<User>();
if(rs.next()){
User user=new User(re.getString(1),re.getString(2),...........);
list.add(user);
}
然後你在把集合迭代出來,這是一種思路,或者如果苦裡面存的是對象類型的數據,直接重寫toString方法,在if語句塊了直接列印user.toString亦可,這是另一種思路。反正方法多了,你自己根據需要做選擇
D. 在Java中,如何通過在資料庫得到的結果集得到表的列數和行數
在Java中,獲得ResultSet的總行數的方法有以下幾種。
第一種:利用ResultSet的getRow方法來獲得ResultSet的總行數
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rset = stmt.executeQuery("select * from yourTableName");
rset.last();
int rowCount = rset.getRow(); //獲得ResultSet的總行數
第二種:利用循環ResultSet的元素來獲得ResultSet的總行數
ResultSet rset = stmt.executeQuery("select * from yourTableName");
int rowCount = 0;
while(rset.next()) {
rowCount++;}rowCount就是ResultSet的總行數。
E. 請教:java從資料庫獲取數據導出docx,有多個表格,請問怎麼導出
截一段代碼給你參考
//先導入jar包org.apache.poi.ss.usermodel.Workbook
Workbook wb = ExcelUtils.create(file.getInputStream());
//獲取導入模板的第一個sheet
Sheet sheet1 = wb.getSheetAt(0);
//將sheet1校驗結果寫到最後一列excel上
for (int i = 0; i < sheet1.getPhysicalNumberOfRows(); i++) {
//i=1就是sheet1的第一行,以此類推
Row row = sheet1.getRow(i);
Cell cell = row.createCell(14);//創建單元格
cell.setCellValue("aaaa");//設置單元格的值(i=1時表示第1行第14列)
Cell cell2 = row.createCell(13);
cell2.setCellValue("aaa");
}
FileOutputStream os = new FileOutputStream(request.getRealPath(ApplicationStatic.FILETEM)+path);
wb.write(os);
os.close();
F. java 怎樣取出資料庫的表
假設資料庫中的表是table ,表中的欄位對應 Student類欄位
代碼:
ArrayList<Student> list = null;//集合
Class.forName("org.sqlite.JDBC");//載入資料庫驅動襲蘆磨
Connection conn = DriverManager.getConnection("jdbc:sqlite:sms.s3db");//鏈接資料庫,sms.s3db是資料庫名字,我嘩銀用的是sqlite.
PreparedStatement ps = conn.PreparedStatement("select * from table");//創建語句對象
ResultSet rs = ps.executeQuery();//執行查詢
if(rs.next()){
Student stu=null;
stu = new Student(rs.getSting(1),rs.getString(2),。。。);
list.add(stu);
}
//輸出信息就行了,
Iterator<Student> it = null; //創建迭代器
while(it.hasNext()){
Student stu = it.next();
System.out.println(stu.toString);
}
.這樣就可以了。。。累死我了。希望你能成拍斗功。
不明白的追問我就ok
G. java 獲取mysql 某個資料庫中所有表及表的列的信息
mysql裡面提供了很多方法來獲取表結構和表列:如下方法
獲得某表所有列的信息:
String sql = select * from tname;//tname為某一表名
Connection conn = ....;
Statement st = conn.createStatement();
ResultSet rs = st.rs = st.executeQuery(sql);
ResultSetMetaData rsmd = rs.getMetaData();
int colcount = rsmd.getColumnCount();//取得全部列數
for(int i=0;i<colcount;i++){
String colname = rsmd.getColumnName(i);//取得全部列名
}
以上為某表欄位具體查詢,如果是查詢表的信息,如在mysql伺服器上那樣的查詢結果的話,可以用一下代碼:
ResultSet.executeQuery("show tables")可以的到所有的表信息。
ResultSet.executeQuery("describe tname")可以得到表的欄位信息。//tname為表名
H. java如何獲取資料庫中所有表名
有多種方法的,最簡單的就是直接用sql查詢(比如mysql是:show tables),然後java裡面用一個map接收就好了。也可以通過java對資料庫的鏈接來直接獲取資料庫表名的。
I. java程序中怎樣從資料庫的一張表中隨機提取幾條數據
1. 用select count(*)得到總記錄條數t;
2. 用分頁查找,用隨機數Random得到一個0<x<t的x數,然後分頁的分頁數和分頁畝做量都用x
3.該分頁查找得到的就是一個隨機的迅宏衡記錄。
4.循環1-3步驟,直到得到希望數量的隨機記絕鉛錄。
J. java怎麼把資料庫的數據取出來
Struts首先必須有一個struts-config.xml的配置文件
例:
<struts-config>
<data-sources />
<form-beans />
<global-exceptions />
<global-forwards />
<action-mappings >
<action path="/test" type="test.struts.TestAction" >
<forward name="success" path="/test.jsp"></forward>
</action>
</action-mappings>
</struts-config>
類:
public class TestActionextends Action {
public TestAction() {
}
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
ActionForward forward;
//這里寫獲得資料庫中數據的代碼和其他地方一樣,可以網上查找
List dates=getDateInDatabases();
request.setAttribute("dates", dates);
forward=mapping.findForward("success");
return forward;
}
這時需要寫一張test.jsp
把拿到的數據隨便通過jsp的形式迭代出來即可
不知道明白沒有
----------------
jsp2.0可以用el表達式
不過。jsp的最上面必須加上這個
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page isELIgnored="false" %>
<c:forEach items="${dates}" var="date" varStatus="true">
<tr>
<td>${date.**} </td>
<td>${date.**} </td>
</tr>
</c:forEach>