这次的Java连接MySQL数据库操作,还是用的和那个非常小的数据库管理系统(JSP)一样的MySQL web_data 的数据库。
创新互联致力于互联网品牌建设与网络营销,包括成都网站设计、网站建设、SEO优化、网络推广、整站优化营销策划推广、电子商务、移动互联网营销等。创新互联为不同类型的客户提供良好的互联网应用定制及解决方案,创新互联核心团队十年专注互联网开发,积累了丰富的网站经验,为广大企业客户提供一站式企业网站建设服务,在网站建设行业内树立了良好口碑。
图示如下:
代码如下:
- ------------------------------------------------------------
- import java.sql.*;
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.*;
- import java.util.*;
- public class inensshow extends JFrame {
- private Connection connection;
- private Statement statement;
- private ResultSet resultSet;
- private ResultSetMetaData rsMetaData;
- //GUI变量定义
- private JTable table;
- private JTextArea inputQuery;
- private JButton submitQuery;
- public inensshow()
- {
- //Form的标题
- super( "输入SQL语句,按查询按钮查看结果。" );
- String url = "jdbc:mysql://localhost:3306/web";
- String username = "inens";
- String password = "inens";
- //加载驱动程序以连接数据库
- try {
- Class.forName( "org.gjt.mm.mysql.Driver" );
- connection = DriverManager.getConnection(
- url, username, password );
- }
- //捕获加载驱动程序异常
- catch ( ClassNotFoundException cnfex ) {
- System.err.println(
- "装载 JDBC/ODBC 驱动程序失败。" );
- cnfex.printStackTrace();
- System.exit( 1 ); // terminate program
- }
- //捕获连接数据库异常
- catch ( SQLException sqlex ) {
- System.err.println( "无法连接数据库" );
- sqlex.printStackTrace();
- System.exit( 1 ); // terminate program
- }
- //如果数据库连接成功,则建立GUI
- //SQL语句
- String test="SELECT * FROM data";
- inputQuery = new JTextArea( test, 4, 30 );
- submitQuery = new JButton( "查询" );
- //Button事件
- submitQuery.addActionListener(
- new ActionListener() {
- public void actionPerformed( ActionEvent e )
- {
- getTable();
- }
- }
- );
- JPanel topPanel = new JPanel();
- topPanel.setLayout( new BorderLayout() );
- //将"输入查询"编辑框布置到 "CENTER"
- topPanel.add( new JScrollPane( inputQuery), BorderLayout.CENTER );
- //将"提交查询"按钮布置到 "SOUTH"
- topPanel.add( submitQuery, BorderLayout.SOUTH );
- table = new JTable();
- Container c = getContentPane();
- c.setLayout( new BorderLayout() );
- //将"topPanel"编辑框布置到 "NORTH"
- c.add( topPanel, BorderLayout.NORTH );
- //将"table"编辑框布置到 "CENTER"
- c.add( table, BorderLayout.CENTER );
- getTable();
- setSize( 500, 300 );
- //显示Form
- show();
- }
- private void getTable()
- {
- try {
- //执行SQL语句
- String query = inputQuery.getText();
- statement = connection.createStatement();
- resultSet = statement.executeQuery( query );
- //在表格中显示查询结果
- displayResultSet( resultSet );
- }
- catch ( SQLException sqlex ) {
- sqlex.printStackTrace();
- }
- }
- private void displayResultSet( ResultSet rs )
- throws SQLException
- {
- //定位到达第一条记录
- boolean moreRecords = rs.next();
- //如果没有记录,则提示一条消息
- if ( ! moreRecords ) {
- JOptionPane.showMessageDialog( this,
- "结果集中无记录" );
- setTitle( "无记录显示" );
- return;
- }
- Vector columnHeads = new Vector();
- Vector rows = new Vector();
- try {
- //获取字段的名称
- ResultSetMetaData rsrsmd = rs.getMetaData();
- for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
- columnHeads.addElement( rsmd.getColumnName( i ) );
- //获取记录集
- do {
- rows.addElement( getNextRow( rs, rsmd ) );
- } while ( rs.next() );
- //在表格中显示查询结果
- table = new JTable( rows, columnHeads );
- JScrollPane scroller = new JScrollPane( table );
- Container c = getContentPane();
- c.remove(1);
- c.add( scroller, BorderLayout.CENTER );
- //刷新Table
- c.validate();
- }
- catch ( SQLException sqlex ) {
- sqlex.printStackTrace();
- }
- }
- private Vector getNextRow( ResultSet rs,
- ResultSetMetaData rsmd )
- throws SQLException
- {
- Vector currentRow = new Vector();
- for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
- currentRow.addElement( rs.getString( i ) );
- //返回一条记录
- return currentRow;
- }
- public void shutDown()
- {
- try {
- //断开数据库连接
- connection.close();
- }
- catch ( SQLException sqlex ) {
- System.err.println( "Unable to disconnect" );
- sqlex.printStackTrace();
- }
- }
- public static void main( String args[] )
- {
- final inensshow app =
- new inensshow();
- app.addWindowListener(
- new WindowAdapter() {
- public void windowClosing( WindowEvent e )
- {
- app.shutDown();
- System.exit( 0 );
- }
- }
- );
- }
- }
------------------------------------------------------------
这次在WIN98中就不好使了。因为MySQL的驱动程序没有也没能加入到CLASSPATH 当中,但是JSP却可以使用(JSP的98驱动加载详见Jsp与Mysql连接查错文章),所以这次我是在XPServer中测试的。Java连接MySQL成功。
当前题目:一个通过Java连接MySQL数据库的代码
转载来源:http://www.shufengxianlan.com/qtweb/news15/295715.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联