Java连接MySQL终于做好了,虽然功能是简单了点,不过我会推出复杂一点的程序,可能以后推出的只用鼠标就可以完成绝大部分的数据库操作。
这次的Java衔接MySQL数据库操作,仍是用的和那个十分小的数据库办理体系(JSP)相同的MySQL web_data 的数据库。
图示如下:
代码如下:
- ------------------------------------------------------------
- importjava.sql.*;
- importjavax.swing.*;
- importjava.awt.*;
- importjava.awt.event.*;
- importjava.util.*;
- publicclassinensshowextendsJFrame{
- privateConnectionconnection;
- privateStatementstatement;
- privateResultSetresultSet;
- privateResultSetMetaDatarsMetaData;
- //GUI变量界说
- privateJTabletable;
- privateJTextAreainputQuery;
- privateJButtonsubmitQuery;
- publicinensshow()
- {
- //Form的标题
- super("输入SQL句子,按查询按钮检查成果。");
- Stringurl="jdbc:mysql://localhost:3306/web";
- Stringusername="inens";
- Stringpassword="inens";
- //加载驱动程序以衔接数据库
- try{
- Class.forName("org.gjt.mm.mysql.Driver");
- connection=DriverManager.getConnection(
- url,username,password);
- }
- //捕获加载驱动程序反常
- catch(ClassNotFoundExceptioncnfex){
- System.err.println(
- "装载JDBC/ODBC驱动程序失利。");
- cnfex.printStackTrace();
- System.exit(1);//terminateprogram
- }
- //捕获衔接数据库反常
- catch(SQLExceptionsqlex){
- System.err.println("无法衔接数据库");
- sqlex.printStackTrace();
- System.exit(1);//terminateprogram
- }
- //假如数据库衔接成功,则树立GUI
- //SQL句子
- Stringtest="SELECT*FROMdata";
- inputQuery=newJTextArea(test,4,30);
- submitQuery=newJButton("查询");
- //Button拜见
- submitQuery.addActionListener(
- newActionListener(){
- publicvoidactionPerformed(ActionEvente)
- {
- getTable();
- }
- }
- );
- JPaneltopPanel=newJPanel();
- topPanel.setLayout(newBorderLayout());
- //将"输入查询"修改框安置到"CENTER"
- topPanel.add(newJScrollPane(inputQuery),BorderLayout.CENTER);
- //将"提交查询"按钮安置到"SOUTH"
- topPanel.add(submitQuery,BorderLayout.SOUTH);
- table=newJTable();
- Containerc=getContentPane();
- c.setLayout(newBorderLayout());
- //将"topPanel"修改框安置到"NORTH"
- c.add(topPanel,BorderLayout.NORTH);
- //将"table"修改框安置到"CENTER"
- c.add(table,BorderLayout.CENTER);
- getTable();
- setSize(500,300);
- //显现Form
- show();
- }
- privatevoidgetTable()
- {
- try{
- //履行SQL句子
- Stringquery=inputQuery.getText();
- statement=connection.createStatement();
- resultSet=statement.executeQuery(query);
- //在表格中显现查询成果
- displayResultSet(resultSet);
- }
- catch(SQLExceptionsqlex){
- sqlex.printStackTrace();
- }
- }
- privatevoiddisplayResultSet(ResultSetrs)
- throwsSQLException
- {
- //定位抵达第一条记载
- booleanmoreRecords=rs.next();
- //假如没有记载,则提示一条音讯
- if(!moreRecords){
- JOptionPane.showMessageDialog(this,
- "成果会集无记载");
- setTitle("无记载显现");
- return;
- }
- VectorcolumnHeads=newVector();
- Vectorrows=newVector();
- try{
- //获取字段的称号
- ResultSetMetaDatarsrsmd=rs.getMetaData();
- for(inti=1;i