JDBC操作 连接MYSQL数据库
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南京邮电大学《软件工程项目实践》
实验报告
题目:JDBC操作
学生姓名
班级学号
日期
二:分析与设计
1 编程实现连接MySQL数据库代码,并测试。
代码如下:
1.------------------------------------------------------------
2.
3.import java.sql.*;
4.import javax.swing.*;
5.import java.awt.*;
6.import java.awt.event.*;
7.import java.util.*;
8.
9.public class inensshow extends JFrame {
10.
11.
12.private Connection connection;
13.private Statement statement;
14.private ResultSet resultSet;
15.private ResultSetMetaData rsMetaData;
16.
17.//GUI变量定义
18.private JTable table;
19.private JTextArea inputQuery;
20.private JButton submitQuery;
21.
22.public inensshow()
23.{
24.//Form的标题
25.super( "输入SQL语句,按查询按钮查看结果。" );
26.
27.String url = "jdbc:mysql://localhost:3306/web";
28.String username = "inens";
29.String password = "inens";
30.//加载驱动程序以连接数据库
31.try {
32.Class.forName( "org.gjt.mm.mysql.Driver" );
33.connection = DriverManager.getConnection(
34.url, username, password );
35.}
36.//捕获加载驱动程序异常
37.catch ( ClassNotFoundException cnfex ) {
38.System.err.println(
39."装载 JDBC/ODBC 驱动程序失败。" );
fex.printStackTrace();
41.System.exit( 1 ); // terminate program
42.}
43.//捕获连接数据库异常
44.catch ( SQLException sqlex ) {
45.System.err.println( "无法连接数据库" );
46.sqlex.printStackTrace();
47.System.exit( 1 ); // terminate program
48.}
49.//如果数据库连接成功,则建立GUI
50.//SQL语句
51.String test="SELECT * FROM data";
52.inputQuery = new JTextArea( test, 4, 30 );
53.submitQuery = new JButton( "查询" );
54.//Button事件
55.submitQuery.addActionListener(
56.new ActionListener() {
57.public void actionPerformed( ActionEvent e )
58.{
59.getTable();
60.}
61.}
62.);
63.
64.JPanel topPanel = new JPanel();
65.topPanel.setLayout( new BorderLayout() );
66.//将"输入查询"编辑框布置到 "CENTER"
67.topPanel.add( new JScrollPane( inputQuery), BorderLayout.CENTER );
68.//将"提交查询"按钮布置到 "SOUTH"
69.topPanel.add( submitQuery, BorderLayout.SOUTH );
70.table = new JTable();
71.Container c = getContentPane();
72. c.setLayout( new BorderLayout() );
73.//将"topPanel"编辑框布置到 "NORTH"
74. c.add( topPanel, BorderLayout.NORTH );
75.//将"table"编辑框布置到 "CENTER"
76. c.add( table, BorderLayout.CENTER );
77.getTable();
78.setSize( 500, 300 );
79.//显示Form
80.show();
81.}
82.
83.private void getTable()
84.{
85.try {
86.//执行SQL语句
87.String query = inputQuery.getText();
88.statement = connection.createStatement();
89.resultSet = statement.executeQuery( query );
90.//在表格中显示查询结果
91.displayResultSet( resultSet );
92.}
93.catch ( SQLException sqlex ) {
94.sqlex.printStackTrace();
95.}
96.}
97.
98.private void displayResultSet( ResultSet rs )
99.throws SQLException
100.{
101.//定位到达第一条记录
102.boolean moreRecords = rs.next();
103.//如果没有记录,则提示一条消息
104.if ( ! moreRecords ) {
105.JOptionPane.showMessageDialog( this,
106."结果集中无记录" );
107.setTitle( "无记录显示" );
108.return;
109.}