下面是一个从 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>