java怎么通过servlet获取from的传值查询mysql数据库对应表的数据并显示到jsp页面中

java怎么通过servlet获取from的传值查询mysql数据库对应表的数据并显示到jsp页面中,第1张

 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里面等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9854197.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存