2022年JDBC操作连接MYSQL数据库 .pdf
《2022年JDBC操作连接MYSQL数据库 .pdf》由会员分享,可在线阅读,更多相关《2022年JDBC操作连接MYSQL数据库 .pdf(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、南京邮电大学软件工程项目实践实验报告题目:JDBC操作学生姓名班级学号日期名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 19 页 - - - - - - - - - 一:实验内容1 编程实现连接 MySQL 数据库代码,并测试。2 编程实现数据库的 insert 、select 、 update 、delete 等操作。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -
2、- 第 2 页,共 19 页 - - - - - - - - - 二:分析与设计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 statem
3、ent; 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:330
4、6/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 ); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 19 页 -
5、- - - - - - - - 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
6、(); 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( A
7、ctionEvent 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
8、); 70.table = new JTable(); 71.Container c = getContentPane(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 19 页 - - - - - - - - - 72.c.setLayout( new BorderLayout() ); 73./ 将topPanel编辑框布置到 NORTH 74.c.add( topPanel, BorderLayout.NORTH ); 75./ 将table编辑框布置到 CEN
9、TER 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 ); 9
10、0./ 在表格中显示查询结果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 ) 10
11、5.JOptionPane.showMessageDialog( this, 106. 结果集中无记录 ); 107.setTitle( 无记录显示 ); 108.return; 109. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 19 页 - - - - - - - - - 110.Vector columnHeads = new Vector(); 111.Vector rows = new Vector(); 112.try 113./ 获取字段的名称114.
12、ResultSetMetaData rs rsmd = rs.getMetaData(); 115.for ( int i = 1; i = rsmd.getColumnCount(); +i ) 116.columnHeads.addElement( rsmd.getColumnName( i ) ); 117./ 获取记录集118.do 119.rows.addElement( getNextRow( rs, rsmd ) ); 120. while ( rs.next() ); 121./ 在表格中显示查询结果122.table = new JTable( rows, columnHea
13、ds ); 123.JScrollPane scroller = new JScrollPane( table ); 124.Container c = getContentPane(); 125.c.remove(1); 126.c.add( scroller, BorderLayout.CENTER ); 127./ 刷新 Table 128.c.validate(); 129. 130.catch ( SQLException sqlex ) 131.sqlex.printStackTrace(); 132. 133. 134.135.136.private Vector getNext
14、Row( ResultSet rs, 137.ResultSetMetaData rsmd ) 138.throws SQLException 139. 140.Vector currentRow = new Vector(); 141.for ( int i = 1; i = rsmd.getColumnCount(); +i ) 142.currentRow.addElement( rs.getString( i ) ); 143./ 返回一条记录144.return currentRow; 145. 146.147.public void shutDown() 名师资料总结 - - -精
15、品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 19 页 - - - - - - - - - 148. 149.try 150./ 断开数据库连接151.connection.close(); 152. 153.catch ( SQLException sqlex ) 154.System.err.println( Unable to disconnect ); 155.sqlex.printStackTrace(); 156. 157. 158.159.public static void ma
16、in( String args ) 160. 161.final inensshow app = 162.new inensshow(); 163.app.addWindowListener( 164.new WindowAdapter() 165.public void windowClosing( WindowEvent e ) 166. 167.app.shutDown(); 168.System.exit( 0 ); 169. 170. 171.); 172. 173. 174.MySQL 连接数据库的实际应用代码以下的文章主要是对MySQL 连接数据库的实际应用代码的介绍,我们大家都
17、知道MySQL 连接数据库的应用率以变的越来越广泛,所以关于MySQL 连接数据库的相关知识也越来越受人欢迎,以下就是文章的具体内容介绍。1.使用纯 JDBC 连接数据库使用纯 JDBC 连接数据库JDBC 提供的 API 能够通过纯Java数据库驱动程序转换为数据库管理系统所使用的专用协议来实现和特定的数据库系统交互信息,其原理如图16-3 所示。图 16-3 使用纯 Java驱动程序连接数据库显然,这种方法使应用程序不受ODBC 的限制,但是Java数据库驱动程序升级后,若访问数据库的应用程序想使用升级版本的驱动程序,就必须重新安装新的驱动程序。使用纯Java 数据库驱动程序连接数据库主要
18、有以下两个步骤。(1)加载纯Java 数据库驱动程序目前,很多数据库厂商都提供了自己相应的纯Java数据库驱动程序。当使用纯Java 数据库驱动程序访问数据库时,要保证连接数据库的应用程序所驻留的计算机上安装有相应数据库的驱动程序。例如,如果需要连接MySQL 数据库,就需要下载相应的驱动程序。本书下载的是名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 19 页 - - - - - - - - - mysql-connector-java-5.1.7.zip 。 将该 z
19、ip 文件解压后, 找到 mysql-connector-java-5.1.7- bin.jar ,也就是连接数据库的驱动程序。之后,将该程序复制到Tomcat 服务器所使用的JDK 的jrelibext 目录下或者Tomcat 安装目录的 commonlib 目录下。应用程序加载MySQL 驱动程序的代码为:1.try 2. Class.forName(com.mysql.jdbc.Driver); 3. catch(ClassNotFoundException e) 4. System.out.println(e); 5. (2)连接数据库假设应用程序和MySQL 服务器在同一台计算机上,
20、那么应用程序和数据库建立连接的代码为:1.try 2. String url=jdbc:mysql:/ip/databaseName; 3. Connection con =DriverManager.getConnection( 4.url, username, password); 5. catch(SQLException e) 6. System.out.println(e); 7. 通过上述方式与数据库建立连接之后,向数据库系统发送查询命令之前,首先需要创建一个 Statement 对象,用于把SQL 语句发送到数据库系统。例如,要利用上面创建的连接con 创建一个Statement
21、 对象 stmt,可以使用以下代码。1.Statement stmt=con .createStatement(); 之后,可以使用execute, executeQuery,executeUpdate 或者 executeBatch 方法将 SQL语句发送到数据库。如果是从数据库中查询数据,则查询操作结束后会返回一个ResultSet,其中包含一系列的行和列。可以调用next 和各种 getXxx 方法对这些行和列进行处理。在使用完数据库后, 应该关闭连接, 释放与数据库相关联的资源。例如,关闭上面创建的数据库连接 con 可以使用以下代码。1.con.close(); 1.package
22、sample; 2.import java.sql.*; 3.4./* 5. * 这是插入记录到Employee表中的 JDBC 操作过程名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 19 页 - - - - - - - - - 6. * Title: databaseMySQL7. * Description: 8. * Copyright: Copyright (c) 20059. * Company: ascent10. * version 1.0 11. */
23、12.13.public class InsertInfo 14. public static void main(String args) 15. try 16. /1 注册数据库JDBC 驱动17. Class.forName(org.gjt.mm.mysql.Driver); 18.19. /2 创建与数据库之间的连接20. Connection con = DriverManager.getConnection(jdbc:mysql:/ 21.localhost:3306/test,root,); 22.23. /3 创建用于转换并发送SQL 语句的 Statement对象24. Pr
24、eparedStatement pstm = con .prepareStatement(insert into 25. employee(sex,name, age) values( ?,?,?); 26.27. /4 执行 SQL 28. 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.executeUpdate(); /step 4 and 5 33. 34. /5 如果是查询SQL,还要处理查询结
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年JDBC操作连接MYSQL数据库 2022 JDBC 操作 连接 MYSQL 数据库
限制150内