注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Search的博客

不断学习中!

 
 
 

日志

 
 

jtable与数据库结合来实现数据的显示  

2012-10-25 13:42:15|  分类: java web开发 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

需要注意的是如果想要显示jtable的标题,需要将jtable添加到jsrollpane,只有这样才能正常显示。
package code.lxy.main;

import java.util.Vector;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

import code.lxy.Util.ActionRow;

public class MainFrame extends JFrame{

    /**
     * 本程序主要是先数据库操作与jtable控件的结合使用
     */
    private static final long serialVersionUID = 1L;
    /**
     * @param args
     */
    public MainFrame()
    {
        Vector <Object>row=null;
        DefaultTableModel dtm=new DefaultTableModel();
        String []titles={"学号","姓名","性别","成绩"};
        Vector<Object> tableTitle=new Vector<Object>();
        for(int i=0;i<titles.length;i++)
        {
            tableTitle.add(titles[i]);
        }
        ActionRow ar=new ActionRow();
        ar.Init();
        row=ar.getRow();
        dtm.setDataVector(row, tableTitle);
        JTable jt=new JTable(dtm);
        JScrollPane jsp=new JScrollPane(jt);
        this.getContentPane().add(jsp);
        this.setBounds(400, 300, 400, 300);
        this.setVisible(true);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        new MainFrame();
    }
}





package code.lxy.Util;

import java.sql.Statement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;

public class ActionRow {
    /*
     * 主要用来获取查询结果resultset
     */
    private Vector<Object> row;
    public void Init()
    {
        row=new Vector<Object>();
        Connection conn=null;
        Statement stmt=null;
        ResultSet rs=null;
        String sql="";
        try{
            conn=DBOperator.getConn();
            sql="select * from studentInfo";
            stmt=DBOperator.getSmt(conn);
            rs=DBOperator.getResultSet(stmt, sql);
            while(rs.next())
            {
                Vector<Object> col=new Vector<>();
                col.add(rs.getInt(1));
                col.add(rs.getString(2));
                col.add(rs.getString(3));
                col.add(rs.getInt(4));
                this.row.add(col);
            }
           
        }catch(SQLException e)
        {
            e.printStackTrace();
        }finally{
            DBOperator.closeRs(rs);
            DBOperator.closeSt(stmt);
            DBOperator.closeConn(conn);
        }
    }
    public Vector<Object> getRow()
    {
        return row;
    }
    public void setRow(Vector<Object> row)
    {
        this.row=row;
    }
}



package code.lxy.Util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DBOperator {
    /*
     * 本类具体实现操作数据库的各种类
     */
    public static Connection getConn() {
        Connection conn = null;
        String userName = "root";
        String usePassword = "wojiushiwo";
        String drivePath = "org.gjt.mm.mysql.Driver";
        String databaseUrl = "jdbc:mysql://localhost:3306/student";
        try {
            Class.forName(drivePath);
            conn = DriverManager.getConnection(databaseUrl, userName,
                    usePassword);
            System.out.println("数据库链接成功");
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return conn;
    }

    public static Statement getSmt(Connection conn) {
        Statement smt = null;
        try {
            smt = conn.createStatement();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return smt;

    }

    public static PreparedStatement getRs(Connection conn, String sql) {
        PreparedStatement psmt = null;
        try {
            psmt = conn.prepareStatement(sql);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return psmt;

    }

    public static ResultSet getResultSet(PreparedStatement ps) {
        ResultSet resultSet = null;
        try {
            resultSet = ps.executeQuery();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return resultSet;
    }

    public static ResultSet getResultSet(Statement st, String sql) {
        ResultSet resultSet = null;
        try {
            resultSet = st.executeQuery(sql);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return resultSet;

    }

    public static void closeConn(Connection conn) {
        try {
            if (conn != null)
                conn.close();
            conn = null;
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    public static void closeSt(Statement st) {
        try {
            if (st != null)
                st.close();
            st = null;
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    public static void closePrest(PreparedStatement st) {
        try {
            if (st != null)
                st.close();
            st = null;
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    public static void closeRs(ResultSet rs) {
        try {
            if (rs != null)
                rs.close();
            rs = null;
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}
  评论这张
 
阅读(164)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017