JDBC操作 连接MYSQL数据库.docx
《JDBC操作 连接MYSQL数据库.docx》由会员分享,可在线阅读,更多相关《JDBC操作 连接MYSQL数据库.docx(20页珍藏版)》请在三一办公上搜索。
1、南京邮电大学软件工程项目实践实验报告题 目: JDBC操作学生姓名班级学号日期二:分析与设计1编程实现连接MySQL数据库代码,并测试。代码如下:1. 2.3.importjava.sql.*;4.importjavax.swing.*;5.importjava.awt.*;6.importjava.awt.event7.importjava.util.*;8.9. public class inensshow extends JFrame 10.11.10. private Connection connection;11. private Statement statement;12. p
2、rivate ResultSet resultSet;13. private ResultSetMetaData rsMetaData;16.14. /GUI变量定义15. private JTable table;16. private JTextArea inputQuery;17. private JButton submitQuery;21.18. public inensshow()19. 20. /Form的标题21. super(输入SQL语句,按查询按钮查看结果。);26.22. Stringurl = jdbc:mysql:/localhost:3306/web;23. St
3、ringusername=inens;24. Stringpassword=inens;25. /加载驱动程序以连接数据库26. try 27. Class.forName( org.gjt.mm.mysql.Driver );28. connection = DriverManager.getConnection(29. url, username, password );30. 31. /捕获加载驱动程序异常32. catch ( ClassNotFoundException cnfex ) 33. System.err.println(34. ”装载JDBC/ODBC驱动程序失败。);3
4、5. cnfex.printStackTrace();36. System.exit( 1 ); / terminate program37. 38. /捕获连接数据库异常39. catch ( SQLException sqlex ) 4 5. System.err.println(无法连接数据库);46. sqlex.printStackTrace();47. System.exit( 1 ); / terminate program48. 49. /如果数据库连接成功,则建立GUI50. /SQL 语句51. String test=SELECT * FROM data;52. inpu
5、tQuery = 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.63. JPanel topPanel = new JPanel();64. topPanel.setLayout( new BorderLa
6、yout();65. /将输入查询编辑框布置到CENTER66. topPanel.add( new JScrollPane( inputQuery), BorderLayout.CENTER );67. /将提交查询按钮布置到SOUTH68. topPanel.add( submitQuery, BorderLayout.SOUTH );69. table = new JTable();70. Container c = getContentPane();72.c.setLayout( new BorderLayout();73./将topPanel编辑框布置到NORTH74.c.add(
7、topPanel, BorderLayout.NORTH );75./将table编辑框布置到CENTER76.c.add( table, BorderLayout.CENTER );77.getTable();78.setSize( 500, 300 );79./显示Form80.show();81.82.83.private void getTable()84.(85.try 86./执行SQL语句87.String query = inputQuery.getText();88.statement = connection.createStatement();89.resultSet =
8、 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 SQLException100.101./定位到达第一条记录102.boolean moreRecords = rs.next();103./如果没有记录,则提示一条消息104.if
9、 ( ! moreRecords ) 105.JOptionPane.showMessageDialog( this,106.”结果集中无记录”);107.setTitle(无记录显示);108.return;109.110.Vector columnHeads = new Vector();111.Vector rows = new Vector();112.try 113./获取字段的名称114.ResultSetMetaData rsrsmd = rs.getMetaData();115.for ( int i = 1; i = rsmd.getColumnCount(); +i )11
10、6.columnHeads.addElement( rsmd.getColumnName( i );117./获取记录集118.do 119.rows.addElement( getNextRow( rs, rsmd );120. while ( rs.next();121./在表格中显示查询结果122.table = new JTable( rows, columnHeads );123.JScrollPane scroller = new JScrollPane( table );124.Container c = getContentPane();125.c.remove(1);126.
11、c.add( scroller, BorderLayout.CENTER );127./刷新 Table128.c.validate();129.130.catch ( SQLException sqlex ) 131.sqlex.printStackTrace();132.133.134.135.136.private Vector getNextRow( ResultSet rs,137.ResultSetMetaData rsmd )138.throws SQLException139.140.Vector currentRow = new Vector();141.for ( int
12、i = 1; i = rsmd.getColumnCount(); +i )142.currentRow.addElement( rs.getString( i );143./返回一条记录144.return currentRow;145.146.147.public void shutDown()148. 149. try 150. /断开数据库连接151. connection.close();152. 153. catch ( SQLException sqlex ) 154. System.err.println( Unable to disconnect );155. sqlex.p
13、rintStackTrace();156. 157. 158.158. public static void main( String args)159. 160. final inensshow app =161. new inensshow();162. app.addWindowListener(163. new WindowAdapter() 164. public void windowClosing( WindowEvent e )165. 166. app.shutDown();167. System.exit( 0 );168. 169. 170. );171. 172. 17
14、4.MySQL连接数据库的实际应用代码以下的文章主要是对MySQL连接数据库的实际应用代码的介绍,我们大家都知道 MySQL连接数据库的应用率以变的越来越广泛,所以关于MySQL连接数据库的相关知识 也越来越受人欢迎,以下就是文章的具体内容介绍。1. 使用纯JDBC连接数据库使用纯JDBC连接数据库JDBC提供的API能够通过纯Java数据库驱动程序转换为数据库管理系统所使用的专用协议来实现和特定的数据库系统交互信息,其原理如图16-3所示。图16-3使用纯Java驱动程序连接数据库显然,这种方法使应用程序不受ODBC的限制,但是Java数据库驱动程序升级后,若 访问数据库的应用程序想使用升级
15、版本的驱动程序,就必须重新安装新的驱动程序。使用纯 Java数据库驱动程序连接数据库主要有以下两个步骤。(1)加载纯Java数据库驱动程序目前,很多数据库厂商都提供了自己相应的纯Java数据库驱动程序。当使用纯Java数 据库驱动程序访问数据库时,要保证连接数据库的应用程序所驻留的计算机上安装有相应数 据库的驱动程序。例如,如果需要连接MySQL数据库,就需要下载相应的驱动程序。本书下载的是mysql-connector-java-5.L7.zip。将该 zip 文件解压后,找到 mysql-connector-java-5.1.7- bin.jar, 也就是连接数据库的驱动程序。之后,将该程
16、序复制到Tomcat服务器所使用的JDK的 jrelibext目录下或者Tomcat安装目录的commonlib目录下。应用程序加载MySQL驱动 程序的代码为:1. try2. Class.forName(com.mysql.jdbc.Driver);3. catch(ClassNotFoundException e)4. System.out.println(e);5. (2)连接数据库假设应用程序和MySQL服务器在同一台计算机上,那么应用程序和数据库建立连接的 代码为:1. try2. String url=jdbc:mysql:/ip/databaseName;3. Connecti
17、on con=DriverManager.getConnection(4. url, username, password);5. catch(SQLException e)6. System.out.println(e);7. 通过上述方式与数据库建立连接之后,向数据库系统发送查询命令之前,首先需要创建 一个Statement对象,用于把SQL语句发送到数据库系统。例如,要利用上面创建的连接 con创建一个Statement对象stmt,可以使用以下代码。1. Statement stmt=con.createStatement();之后,可以使用 execute,executeQuery,
18、executeUpdate 或者 executeBatch 方法将 SQL 语句发送到数据库。如果是从数据库中查询数据,则查询操作结束后会返回一个ResultSet, 其中包含一系列的行和列。可以调用next和各种getXxx方法对这些行和列进行处理。在使 用完数据库后,应该关闭连接,释放与数据库相关联的资源。例如,关闭上面创建的数据库 连接con可以使用以下代码。1. con.close();1. package sample;2. import java.sql.*;3.5.* 这是插入记录到U Employee表中的JDBC操作过程6.* Title: databaseMySQL7.*
19、Description: 8.* Copyright: Copyright (c) 20059.* Company: ascent10.* version 1.011.*/12.12. public class Insertinfo 14.public static void main(String args) 15.try 16./1注册数据库JDBC驱动17.Class.forName(org.gjt.mm.mysqlDriver);18.19./2创建与数据库之间的连接20.Connection con = DriverManager.getConnection(jdbc:mysql:/
20、21. localhost:3306/test,root,);22.23./3创建用于转换并发送SQL语句的Statement对象24.cPreparedStatement pstm = con.prepareStatement(insert into25.employee(sex,name, age) values( ?,?,?);26.27./4执行SQL28.for(int i = 0; i 10; i+) 29.pstm.setString(1, female);30.pstm.setString(2, name+i);31.pstm.setInt(3, i);32.pstm.exec
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JDBC操作 连接MYSQL数据库 JDBC 操作 连接 MYSQL 数据库
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-4885699.html