requestgetSession()setAttribute("cid", id);
// 这样在后面就可以通过 sessiongetAttribute("cid") 来获取,望采纳
你应该不是想写个通用的数据库查询程序吧。
通常读取resultset时,需要知道里面有多少个字段,在你的例子里就是表AAA有多少个字段。
假设有5个,那么在你的executeQuery方法中,得到rs后加入:
while (rsnext()) {
for (int i=1;i<=5;i++) Systemoutprint(rsgetString(i)+",");
Systemoutprintln();
}
如果不知道有多少字段,那么还得用ResultSetMetadata,那就稍微复杂些了,看看API吧。
使用lablesettext("str");将查询出来的数据放进jllabe。
1,给查询按钮一个监听事件,点击触发。
2,连接数据库进行查询 *** 作,返回rs结果集。
3,获取rs结果集中的数据,例如获取表中字段为name的数据:string
name
=
rsgetstring("name")。
4,将数据插入到jlable。name_lablesettext(name);
5,刷新界面显示数据。framesetvisible(true);
public class BookModel extends AbstractTableModel{
Vector rowData=null;
Vector columnNames=null;
public BookModel(){
rowData=new Vector();
columnNames=new Vector();
columnNamesadd("馆藏书号");
columnNamesadd("书名");
columnNamesadd("作者");
columnNamesadd("ISBN");
columnNamesadd("类别");
columnNamesadd("出版社");
columnNamesadd("价格");
columnNamesadd("书架");
String sql="select from book";
String [] paras={};
//创建SqlHelper对象
SqlHelper sh=new SqlHelper();
ResultSet rs=shquery(sql, paras);
try {
while(rsnext()){
Vector v=new Vector();
vadd(rsgetString(1));
vadd(rsgetString(2));
vadd(rsgetString(3));
vadd(rsgetString(4));
vadd(rsgetString(5));
vadd(rsgetString(6));
vadd(rsgetString(7));
vadd(rsgetString(8));//返回查询到的值
rowDataadd(v);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}finally{
shclose();
}
}
public BookModel(String sql, String []paras){
rowData=new Vector();
columnNames=new Vector();
columnNamesadd("馆藏书号");
columnNamesadd("书名");
columnNamesadd("作者");
columnNamesadd("ISBN");
columnNamesadd("类别");
columnNamesadd("出版社");
columnNamesadd("价格");
columnNamesadd("书架");
//创建SqlHelper对象
SqlHelper sh=new SqlHelper();
ResultSet rs=shquery(sql, paras);
try {
while(rsnext()){
Vector v=new Vector();
vadd(rsgetString(1));
vadd(rsgetString(2));
vadd(rsgetString(3));
vadd(rsgetString(4));
vadd(rsgetString(5));
vadd(rsgetString(6));
vadd(rsgetString(7));
vadd(rsgetString(8));//返回查询到的值
rowDataadd(v);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}finally{
shclose();
}
}
public BookModel(BookModel bm){
rowData=new Vector();
columnNames=new Vector();
columnNamesadd("馆藏书号");
columnNamesadd("书名");
columnNamesadd("作者");
columnNamesadd("ISBN");
columnNamesadd("类别");
columnNamesadd("出版社");
columnNamesadd("价格");
columnNamesadd("书架");
for(int i=0;i<bmgetRowCount();i++)
{
Vector v=new Vector();
for(int j=0;j<bmgetColumnCount();j++){
vadd((String)bmgetValueAt(i, j));
}
thisrowDataadd(v);
}
}
//定义增,删,改模块
public boolean exeUpdate(String sql, String []paras){
//创建SqlHelper对象
SqlHelper sh=new SqlHelper();
boolean b=true;
b=shexeUpdate(sql, paras);
shclose();
return b;
}
//定义查询模块
public Vector query(String sql, String paras[]){
rowData=new Vector();
columnNames=new Vector();
columnNamesadd("馆藏书号");
columnNamesadd("书名");
columnNamesadd("作者");
columnNamesadd("ISBN");
columnNamesadd("类别");
columnNamesadd("出版社");
columnNamesadd("价格");
columnNamesadd("书架");
//创建SqlHelper对象
SqlHelper sh=new SqlHelper();
ResultSet rs=shquery(sql, paras);
try {
while(rsnext()){
Vector v=new Vector();
vadd(rsgetString(1));
vadd(rsgetString(2));
vadd(rsgetString(3));
vadd(rsgetString(4));
vadd(rsgetString(5));
vadd(rsgetString(6));
vadd(rsgetString(7));
vadd(rsgetString(8));//返回查询到的值
rowDataadd(v);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}finally{
shclose();
return rowData;
}
}
@Override
public int getColumnCount() {
// TODO Auto-generated method stub
return thiscolumnNamessize();
}
@Override
public int getRowCount() {
// TODO Auto-generated method stub
return thisrowDatasize();
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
// TODO Auto-generated method stub
return ((Vector)thisrowDataget(rowIndex))get(columnIndex);
}
@Override
public String getColumnName(int column) {
// TODO Auto-generated method stub
return (String)thiscolumnNamesget(column);
}
}
参考这个,写个继承AbstractTableModel的model类,重写下面这几个方法
首先创建可以可以 *** 作数据库的模型用来实现crud
package model;
/
负责对数据库 *** 作的表模型
/
import javasql;
public class SqlModel {
static Connection con=null;
static PreparedStatement ps=null;
static ResultSet rs=null;
//ResultSet rs2=null;
public SqlModel(){
try {
//加载驱动
ClassforName("sunjdbcodbcJdbcOdbcDriver");
//2、得到连接(指定连接到那个数据源),hostel:数据源名
con=DriverManagergetConnection("jdbc:odbc:hostel","","");
} catch (Exception e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
//负责增、删、改的方法
public boolean update(String sql,String []paras){
boolean b=true; //判断是否删除成功
try {
ps=conprepareStatement(sql); //向数据库发送sql语句
//利用循环给sql语句中的问号赋值
for(int i=0;i<paraslength;i++){
pssetString(i+1, paras[i]);
}
//得到结果
//int rs=psexecuteUpdate();
psexecuteUpdate();
} catch (Exception e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
return b;
}
//负责查询的方法
public ResultSet query(String sql, String []paras){
try {
ps=conprepareStatement(sql); //向数据库发送sql语句
//利用循环给sql语句中的问号赋值
for(int i=0;i<paraslength;i++){
pssetString(i+1, paras[i]);
}
//得到结果
rs=psexecuteQuery();
} catch (Exception e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
return rs;
}
//关闭数据库连接的方法
public void close(){
try {
if(rs!=null){rsclose();}
if(ps!=null){psclose();}
if(con!=null){conclose();}
} catch (SQLException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
}
再创建一个表模型,
package model;
import javasql;
import javautil;
import javaxswingJTable;
import javaxswingtableAbstractTableModel;
public class Table extends AbstractTableModel{
SqlModel sm;
Connection con=null;
PreparedStatement ps=null;
ResultSet rs=null;
Vector Hang,Lie;
//查询的方法
public void ShuJuKuLianJie(String sql,String []paras){
try {
Hang=new Vector();
Lie=new Vector();
SqlModel sm=new SqlModel();
rs=smquery(sql, paras);
//利用ResultSetMetaData可以得到返回列的列名
ResultSetMetaData rsm=rsgetMetaData();
for(int i=0;i<rsmgetColumnCount();i++){
thisHangadd(rsmgetColumnName(i+1));
}
while(rsnext()){
Vector<String> lie=new Vector<String>();
for(int i=0;i<rsmgetColumnCount();i++){
lieadd(rsgetString(i+1));
}
Lieadd(lie);
}
} catch (Exception e) {
// TODO Auto-generated catch block
eprintStackTrace();
}finally{
try {
if(rs!=null){rsclose();};
if(ps!=null){psclose();};
if(con!=null){conclose();};
} catch (Exception e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
}
//增删改方法
public boolean ZhengShanGai(String sql,String paras[]){
boolean b=true; //用来返回 *** 作是否成功
SqlModel sm=new SqlModel();
try {
b=smupdate(sql, paras);
} catch (Exception e) {
// TODO Auto-generated catch block
eprintStackTrace();
}finally{
smclose();
}
return b;
}
@Override
public int getRowCount() {
// TODO Auto-generated method stub
//得到共有多少列
return thisLiesize();
}
@Override
public int getColumnCount() {
// TODO Auto-generated method stub
//得到共有多少行
return thisHangsize();
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
// TODO Auto-generated method stub
//得到某行某列的数据
return ((Vector) thisLieget(rowIndex))get(columnIndex);
}
public String getColumnName(int column) {
// TODO Auto-generated method stub
return (String)thisHangget(column);
}
}
查询过后别忘记刷新表模型
setModel();方法
以上就是关于java怎么通过servlet获取from的传值查询mysql数据库对应表的数据并显示到jsp页面中全部的内容,包括:java怎么通过servlet获取from的传值查询mysql数据库对应表的数据并显示到jsp页面中、JAVA中显示MYSQL查询结果、java 如何实现点击一个查询成绩按钮后将数据库里相对应的内容显示在JTable里面等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)