JDBC实验报告
实验九:JDBC编程

实验九JDBC编程一、实验目的1)掌握JDBC的概念与使用场景2)掌握JDBC的工作原理3)掌握使用JDBC操作数据库的基本步骤4)掌握JDBC中几个常用接口和类5)掌握带数据库操作的应用程序开发步骤二、实验环境JDK1.6+Eclpise3.2三、实验准备1)复习课件中理论知识2)练习课堂所讲的例子四、实验内容1)安装MySQL数据库2)在MySQL中创建数据库webdb,并创建表news3)实现对news表的增删改查五、实验过程及结果插入数据调试如图:查询数据调试如图:删除数据调试如图:修改数据调试如图:六、实验感想本次实验,我了解了JDBC的概念与使用场景,理解了JDBC的工作原理,掌握了使用JDBC操作数据库的基本步骤,掌握了JDBC中几个常用接口和类,了解了带数据库操作的应用程序开发步骤等。
七、附录插入数据代码:package zsl;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;public class InsertNews {public static void main(String[] args)throwsClassNotFoundException,SQLException {Class.forName("com.mysql.jdbc.Driver");Connection cn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/webdb?user=root&password=1");Statement stmt=cn.createStatement();int flag=stmt.executeUpdate("insert into news(title,author,hit)values('我院荣获全国独立学院','管理员','888')");if (flag>0){System.out.println("添加成功");}else{System.out.println("添加失败");}stmt.close();cn.close();}}查询数据代码:package zsl;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class SelectNews {public static void main(String[] args)throwsClassNotFoundException,SQLException {Class.forName("com.mysql.jdbc.Driver");Connection cn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/webdb?user=root&password=1");Statement stmt=cn.createStatement();ResultSet rs=stmt.executeQuery("select*from news");while (rs.next()){System.out.println("newsid-->+rs.getInt(1)");System.out.println("title-->+rs.getInt(2)");System.out.println("author-->+rs.getInt(3)");System.out.println("hit-->+rs.getInt(4)");}rs.close();stmt.close();cn.close();}}删除数据代码:package zsl;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;public class DeletNews {public static void main(String[] args)throws SQLException, ClassNotFoundException{Class.forName("com.mysql.jdbc.Driver");Connection cn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/webdb?user=root&password=1");Statement stmt=cn.createStatement();int flag=stmt.executeUpdate(" delete from news where author='管理员'");if (flag>0){System.out.println("删除成功");}else{System.out.println("删除失败");}stmt.close();cn.close();}}修改数据代码:package zsl;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;public class UpdateNews {public static void main(String[] args)throwsClassNotFoundException,SQLException {Class.forName("com.mysql.jdbc.Driver");Connection cn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/webdb?user=root&password=1");Statement stmt=cn.createStatement();int flag=stmt.executeUpdate("update news set title='我院荣获河南发展最快独立学院',hit=666 where author='管理员'");if (flag>0){System.out.println("修改成功");}else{System.out.println("修改失败");}stmt.close();cn.close();}}。
实验七 JDBC技术

实验七JDBC技术
【实验目的】
1.理解JDBC思想与体系结构;
2.掌握使用JDBC访问数据库的步骤;
3.掌握JDBCAPI的使用;
4.掌握访问不同数据库所需的相应驱动程序和使用的连接字符串;
5.掌握在Java应用程序中对数据库进行查询操作和更新操作;
6.掌握PreparedStatement与预处理操作。
【实验内容】
(一)建立ODBC数据源
1.建立一个名为student的Access数据库,在其中建立一个名为chengjibiao的数据表,该
表的结构如下(该表不设置主键),并向数据表中添加以下记录:
2.针对上述数据表,建立数据源,名为cheng。
具体步骤请参考第十三章课件。
(二)访问数据源,验证程序。
1.验证例子Example13_1.java,该程序用于查询数据库中chengjibiao里的全部记录,并输
出每条记录的所有字段。
2.验证例子Example13_4.java,该程序用于实现按英语成绩排序查询。
3.验证例子Example13_5.java,该程序用于实现随机查询,随机从结果集中取出4条记录,
并计算记录的书序成绩的平均值。
4.验证例子Example13_6.java,该程序演示对数据库的更新、添加和删除记录的操作。
5.验证例子Example13_8.java,该程序演示使用PreparedStatement对象,实现预处理操作。
(三)编写程序。
1.建立数据库,并建立图书信息表,保存图书编号、书名、作者、价格等信息,编写JDBC 程序实现对图书信息的检索和更新操作。
JDBC实验二使用JDBC实现数据库连接

JDBC实验二使用JDBC实现数据库连接JDBC(Java数据库连接)是Java语言访问数据库的标准接口,通过JDBC可以方便地连接和操作各种关系型数据库。
在本实验中,我将使用JDBC实现数据库连接的步骤和方法。
接下来,我们需要设置Java项目的classpath,将驱动程序添加到项目中。
classpath是指Java虚拟机用来查找类文件的路径。
我们可以通过命令行或者IDE的设置来配置classpath。
在本实验中,我们将通过IDE来设置classpath。
设置classpath的步骤如下(以Eclipse IDE为例):1. 打开Eclipse,并打开你的Java项目。
2. 右击项目文件,选择"Build Path"(构建路径) -> "Configure Build Path"(配置构建路径)。
3. 在弹出的窗口中,选择"Libraries"(库)选项卡。
5. 点击"Apply and Close"(应用并关闭)按钮。
现在,我们已经准备好在Java代码中使用JDBC来连接数据库了。
下面是连接数据库的代码示例:import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class DatabaseConnectionpublic static void main(String[] args)//数据库连接信息String url = "jdbc:mysql://localhost:3306/test";String username = "root";//连接数据库try//加载数据库驱动程序Connection connection = DriverManager.getConnection(url, username, password);//连接成功,可以进行相关操作connection.close(;} catch (ClassNotFoundException e)e.printStackTrace(;} catch (SQLException e)e.printStackTrace(;}}以上代码示例中,我们通过调用`Class.forName(`方法来加载MySQL 数据库的驱动程序。
jdbc实训报告总结

jdbc实训报告总结实训报告:JDBC(Java Database Connectivity)一、实训目标本次JDBC实训的目标是掌握Java语言如何通过JDBC API与关系型数据库进行交互,包括数据库的连接、查询、更新和断开连接等操作。
二、实训内容1. 了解JDBC的基本概念和用途。
2. 掌握JDBC驱动的安装与配置。
3. 掌握使用JDBC API进行数据库连接、查询、更新和断开连接的步骤。
4. 了解事务处理和批处理的概念及实现方法。
5. 掌握使用PreparedStatement和CallableStatement执行参数化查询和存储过程。
6. 了解JDBC的异常处理机制。
7. 掌握使用连接池管理数据库连接。
三、实训过程1. 在实验环境中安装和配置JDBC驱动。
2. 编写Java程序,实现数据库的连接、查询、更新和断开连接等操作。
3. 编写Java程序,实现事务处理和批处理。
4. 编写Java程序,使用PreparedStatement和CallableStatement执行参数化查询和存储过程。
5. 编写Java程序,实现异常处理。
6. 编写Java程序,使用连接池管理数据库连接。
四、实训总结通过本次实训,我深入了解了JDBC API的使用方法,掌握了Java语言与关系型数据库的交互方式。
在实训过程中,我学会了如何安装和配置JDBC驱动,如何使用JDBC API进行数据库连接、查询、更新和断开连接等操作,以及如何使用PreparedStatement和CallableStatement执行参数化查询和存储过程。
此外,我还了解了事务处理和批处理的概念及实现方法,以及JDBC的异常处理机制和连接池的使用方法。
这些知识和技能将对我今后的学习和工作产生积极的影响。
jdbc增删改查实验报告

JDBC增删改查实验报告一、引言数据库是现代软件开发中不可或缺的一部分,而对数据库的操作也是开发中最常见的任务之一。
JDBC(Java Database Connectivity)是Java语言中用于与数据库进行交互的API。
本实验将通过使用JDBC进行增删改查操作,探索JDBC在数据库操作中的应用。
二、实验目的通过本实验,我们将达到以下目的: 1. 理解JDBC的基本概念和原理; 2. 掌握使用JDBC进行数据库连接和操作的方法; 3. 熟悉JDBC在增删改查中的应用; 4. 实践使用JDBC进行数据库操作。
三、实验环境本实验使用以下环境: - 操作系统:Windows 10 - JDK版本:Java 8 - 数据库:MySQL 8.0 - IDE:Eclipse四、实验步骤4.1 数据库准备在MySQL数据库中创建一个名为”test_db”的数据库,并创建一个名为”users”的表,表结构如下:CREATE TABLE users (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50),age INT,email VARCHAR(50));4.2 配置JDBC连接在Java项目中引入JDBC依赖,例如使用Maven管理依赖的项目,在pom.xml文件中添加以下代码:<dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.26</version></dependency></dependencies>4.3 连接数据库在Java代码中使用JDBC连接数据库,示例代码如下:import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class JdbcDemo {public static void main(String[] args) {// JDBC连接数据库String url = "jdbc:mysql://localhost:3306/test_db";String username = "root";String password = "123456";try {Connection connection = DriverManager.getConnection(url, username, password);// 连接成功,进行后续操作// ...} catch (SQLException e) {e.printStackTrace();}}}4.4 插入数据使用JDBC向数据库中插入数据,示例代码如下:import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;public class JdbcDemo {public static void main(String[] args) {// JDBC连接数据库// ...try {// 插入数据String insertSql = "INSERT INTO users (name, age, email) VALUES (?, , )";PreparedStatement statement = connection.prepareStatement(insertSq l);statement.setString(1, "张三");statement.setInt(2, 20);statement.setString(3,"********************");int rows = statement.executeUpdate();if (rows > 0) {System.out.println("插入成功");} else {System.out.println("插入失败");}} catch (SQLException e) {e.printStackTrace();}}}4.5 查询数据使用JDBC从数据库中查询数据,示例代码如下:import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class JdbcDemo {public static void main(String[] args) {// JDBC连接数据库// ...try {// 查询数据String selectSql = "SELECT * FROM users";Statement statement = connection.createStatement();ResultSet resultSet = statement.executeQuery(selectSql);while (resultSet.next()) {int id = resultSet.getInt("id");String name = resultSet.getString("name");int age = resultSet.getInt("age");String email = resultSet.getString("email");System.out.println("id: " + id + ", name: " + name + ", age: " + age + ", email: " + email);}} catch (SQLException e) {e.printStackTrace();}}}4.6 更新数据使用JDBC更新数据库中的数据,示例代码如下:import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;public class JdbcDemo {public static void main(String[] args) {// JDBC连接数据库// ...try {// 更新数据String updateSql = "UPDATE users SET age = ? WHERE name = ?";PreparedStatement statement = connection.prepareStatement(updateSq l);statement.setInt(1, 25);statement.setString(2, "张三");int rows = statement.executeUpdate();if (rows > 0) {System.out.println("更新成功");} else {System.out.println("更新失败");}} catch (SQLException e) {e.printStackTrace();}}}4.7 删除数据使用JDBC从数据库中删除数据,示例代码如下:import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;public class JdbcDemo {public static void main(String[] args) {// JDBC连接数据库// ...try {// 删除数据String deleteSql = "DELETE FROM users WHERE name = ?";PreparedStatement statement = connection.prepareStatement(deleteSq l);statement.setString(1, "张三");int rows = statement.executeUpdate();if (rows > 0) {System.out.println("删除成功");} else {System.out.println("删除失败");}} catch (SQLException e) {e.printStackTrace();}}}五、实验总结通过本次实验,我们成功地使用JDBC进行了增删改查操作。
jdbc实验心得

JDBC实验心得1. 介绍JDBC(Java Database Connectivity)是Java语言访问数据库的标准API。
通过JDBC,可以实现Java程序与各种关系型数据库的连接与交互。
在本次实验中,我深入学习了JDBC的使用方法,并通过实际操作,对JDBC在开发中的重要性有了更深刻的认识。
本文将从以下几个方面详细探讨我在实验中的心得体会:•JDBC的基本概念及原理•JDBC连接数据库的步骤•实际操作中遇到的问题及解决方法•JDBC在开发中的应用场景•实验的收获和不足之处2. JDBC的基本概念及原理2.1 JDBC的作用和优势JDBC是Java语言连接数据库的标准接口。
它使得Java程序能够通过标准的数据库操作语句与数据库进行交互,实现数据的存储和查询等功能。
JDBC的优势在于它能够提供跨平台的数据库访问能力,而不依赖于特定的数据库或操作系统。
2.2 JDBC的工作原理JDBC的工作原理可以分为以下几个步骤:1.加载数据库驱动程序:在使用JDBC之前,需要先加载相应数据库的驱动程序。
通过Class.forName()方法加载驱动类,这个类实现了Java SQL接口规范。
2.建立数据库连接:通过DriverManager类的getConnection()方法,传入数据库URL、用户名和密码等参数,来建立与数据库的连接。
连接成功后,将返回一个Connection对象。
3.创建执行SQL语句的Statement对象:通过Connection对象的createStatement()方法,可以创建一个用于执行SQL语句的Statement对象。
4.执行SQL语句:使用Statement对象的executeQuery()或executeUpdate()方法,可以执行查询或更新操作。
5.处理查询结果或更新结果:当执行查询语句后,可以使用ResultSet对象来遍历查询结果集;当执行更新语句后,可以使用int值表示受影响的行数。
实验六 JDBC连接数据库

课程高级JAVA开发技术 _ 实验名称实验六 JDBC连接数据库教师审批签字一、实验目的掌握JDBC连接数据库二、实验内容1、通过JDBC/ODBC桥接方式访问Oralce数据库6.G.12、JDBC访问数据库6.G.2三、实验过程及结果实验源码:publicclass Constants {publicstatic String DRIVER = "sun.jdbc.odbc.JdbcOdbcDriver";publicstatic String URL = "jdbc:odbc:myscott";publicstatic String USERNAME = "scott";publicstatic String PASSWORD = "tiger";}import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;publicclass DBUtil {Connection conn = null;PreparedStatement pstmt = null;ResultSet rs = null;public Connection getConnection() throws ClassNotFoundException, SQLException, InstantiationException, IllegalAccessException { String DRIVER = Config.getValue("driver");String URL = Config.getValue("url");String USERNAME = Config.getValue("username");String PASSWORD = Config.getValue("password");System.out.println("DRIVER");try {Class.forName(DRIVER);conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);return conn;} catch (Exception e) {thrownew SQLException("驱动错误或连接失败");}}public ResultSet executeQuery(String preparedSql, String[] param) { try {pstmt = conn.prepareStatement(preparedSql);if (param != null) {for (int i = i; i < param.length; i++) {pstmt.setString(i + 1, param[i]);}}rs = pstmt.executeQuery();} catch (SQLException e) {e.printStackTrace();}return rs;}publicint executeUpdate (String preparedSql, String[] param) { int num = 0;try {pstmt = conn.prepareStatement(preparedSql);if (param != null) {for (int i = 0; i < param.length; i++) {pstmt.setString(i + 1, param[i]);}}num = pstmt.executeUpdate();} catch (SQLException e) {e.printStackTrace();}return num;}publicvoid closeAll() {if (rs != null) {try {rs.close();} catch (SQLException e) {e.printStackTrace();}}if (pstmt != null) {try {pstmt.close();} catch (SQLException e) {e.printStackTrace();}}if (conn != null) {try {conn.close();} catch (SQLException e) {e.printStackTrace();}}}}package com.haiersoft.chat.client;import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import java.sql.ResultSet;public class FrmRegist extends JFrame implements ActionListener { private JPanel p;private JLabel lblName, lblNickname, lblPwd, lblRePwd, lblSex, lblImage;private JTextField txtName, txtNickname;private JPasswordField txtPwd, txtRePwd;private JRadioButton rbMale, rbFemale;private JRadioButton[] ckbImage = new JRadioButton[8];private JButton btnOk, btnCancle, btnReturn;private String checkedHeadImg = null;public FrmRegist() {super("用户注册");p = new JPanel(null);lblName = new JLabel("用户名:");lblNickname = new JLabel("昵称:");lblPwd = new JLabel("密码:");lblRePwd = new JLabel("确认密码:");lblSex = new JLabel("性别:");lblImage = new JLabel("头像:");txtName = new JTextField(20);txtNickname = new JTextField(20);txtPwd = new JPasswordField(20);txtRePwd = new JPasswordField(20);rbMale = new JRadioButton("男");rbMale.setSelected(true);rbFemale = new JRadioButton("女");JPanel pimg = new JPanel(new GridLayout(2, 5));ButtonGroup bgimg = new ButtonGroup();for (int i = 0; i < ckbImage.length; i++) {ckbImage[i] = new JRadioButton(String.valueOf(i + 1),new ImageIcon("images/" + (i + 1) + ".gif"));bgimg.add(ckbImage[i]);pimg.add(ckbImage[i]);}btnOk = new JButton("确定");btnCancle = new JButton("取消");btnReturn = new JButton("返回");btnOk.addActionListener(this);btnCancle.addActionListener(this);btnReturn.addActionListener(this);ButtonGroup bgsex = new ButtonGroup();bgsex.add(rbMale);bgsex.add(rbFemale);lblName.setBounds(30, 30, 60, 25);txtName.setBounds(95, 30, 200, 25);lblNickname.setBounds(30, 60, 60, 25);txtNickname.setBounds(95, 60, 200, 25);lblPwd.setBounds(30, 90, 60, 25);txtPwd.setBounds(95, 90, 200, 25);lblRePwd.setBounds(30, 120, 60, 25);txtRePwd.setBounds(95, 120, 200, 25);lblSex.setBounds(30, 150, 60, 25);rbMale.setBounds(95, 150, 60, 25);rbFemale.setBounds(160, 150, 60, 25);lblImage.setBounds(30, 180, 60, 25);pimg.setBounds(95, 180, 280, 100);btnOk.setBounds(90, 290, 60, 25);btnCancle.setBounds(155, 290, 60, 25);btnReturn.setBounds(220, 290, 60, 25);p.add(lblName);p.add(txtName);p.add(lblNickname);p.add(txtNickname);p.add(lblPwd);p.add(txtPwd);p.add(lblRePwd);p.add(txtRePwd);p.add(lblSex);p.add(rbMale);p.add(rbFemale);p.add(lblImage);p.add(pimg);p.add(btnOk);p.add(btnCancle);p.add(btnReturn);this.add(p);this.setSize(400, 380);this.setLocation(300, 300);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}public void actionPerformed(ActionEvent e) {Object source = e.getSource();if (source == btnOk) {btnOkClick();}if (source == btnCancle) {btnCancleClick();}if (source == btnReturn) {btnReturnClick();}}private void btnOkClick() {String username = txtName.getText();String nickname = txtNickname.getText();String userpwd = new String(txtPwd.getPassword());String repwd = new String(txtRePwd.getPassword());int sex = 0;if (rbFemale.isSelected()) {sex = 1;}if (username.equals("")) {JOptionPane.showMessageDialog(btnOk, "用户名不能为空", "提示", JOptionPane.WARNING_MESSAGE);return;}if (nickname.equals("")) {JOptionPane.showMessageDialog(btnOk, "昵称不能为空", "提示", JOptionPane.WARNING_MESSAGE);return;}if (userpwd.equals("")) {JOptionPane.showMessageDialog(btnOk, "密码不能为空", "提示", JOptionPane.WARNING_MESSAGE);return;}if (userpwd.length() < 6 || userpwd.length() > 10) {JOptionPane.showMessageDialog(btnOk, "密码长度范围在6~10之间", "提示", JOptionPane.WARNING_MESSAGE);return;}if (repwd.equals("")) {JOptionPane.showMessageDialog(btnOk, "确认密码不能为空", "提示", JOptionPane.WARNING_MESSAGE);return;}if (!repwd.equals(userpwd)) {JOptionPane.showMessageDialog(btnOk, "确认密码和密码必须相同", "提示", JOptionPane.WARNING_MESSAGE);return;}if (userpwd.equals("haiersoft")) {JOptionPane.showMessageDialog(btnOk, "注册成功!", "提示", RMA TION_MESSAGE);btnCancleClick();} else {JOptionPane.showMessageDialog(btnOk, "注册失败!", "提示", RMA TION_MESSAGE);}}private void btnCancleClick() {txtName.setText("");txtNickname.setText("");txtPwd.setText("");txtRePwd.setText("");rbMale.setSelected(true);}private void btnReturnClick() {this.setV isible(false);FrmLogin frmLogin = new FrmLogin();frmLogin.setVisible(true);}private boolean registUser(String username, String nickname, String password, String sex, String headimg) {boolean r = false;DBUtil db = new DBUtil();try {db.getConnection();String sql = "INSERT INTO userdetails(username,nickname,password,sex,headimg) values(?,?,?,?,?)";int rs = db.executeUpdate(sql, new String[] { username, nickname, password, "" + sex, headimg });if (rs > 0) {r = true;}} catch (ClassNotFoundException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();} finally {db.closeAll();}return r;}private boolean check(String uname, String upwd) {boolean r = false;DBUtil db = new DBUtil();try {db.getConnection();String sql = "SELECT nickname,headimg FROM userdetails WHERE username=? AND password=?";ResultSet rs = db.executeQuery(sql, new String[] { uname, upwd});if (rs != null && rs.next()) {r = true;ername = uname;FrmMain.nickname = rs.getString("nickname");FrmMain.headimg = rs.getString("headimg");}} catch (ClassNotFoundException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();} finally {db.closeAll();}return r;}class ImageListener implements ItemListener {public void itemStateChanged(ItemEvent e) {JRadioButton source = (JRadioButton) e.getSource();if (source.isSelected()) {source.setBorderPainted(true);checkedHeadImg = source.getText() + ".gif";System.out.println(checkedHeadImg);} else {source.setBorderPainted(false);}}}public static void main(String[] args) {FrmRegist frmRegist = new FrmRegist();frmRegist.setV isible(true);}}四、实验中问题及心得对于这次实验,自己认为比较难。
jdbc实验心得

jdbc实验心得JDBC实验心得一、实验背景和目的JDBC(Java Database Connectivity)是Java语言访问数据库的标准接口,通过JDBC可以方便地连接和操作各种类型的数据库。
本次实验旨在通过编写Java程序使用JDBC连接数据库,并进行数据的增删改查操作,加深对JDBC的理解和掌握。
二、实验过程1. 环境准备:首先需要安装并配置好Java开发环境,包括JDK和IDE (如Eclipse或IntelliJ IDEA)。
然后下载并安装相应版本的数据库驱动程序,如MySQL Connector/J。
2. 创建数据库:根据实验需求,可以选择已有的数据库或创建新的数据库。
如果选择创建新的数据库,需要执行相应的SQL语句来创建表结构。
3. 导入驱动程序:将下载好的驱动程序导入到项目中,并在代码中引入相应的包。
4. 连接数据库:使用DriverManager类中的getConnection()方法来建立与数据库之间的连接。
需要提供数据库URL、用户名和密码等连接信息。
5. 执行SQL语句:通过Connection对象创建Statement对象,并使用Statement对象执行SQL语句。
可以执行查询语句、更新语句等不同类型的SQL语句。
6. 处理结果集:如果执行查询语句,则会返回一个ResultSet对象,可以通过ResultSet对象获取查询结果集中的数据。
7. 关闭资源:在完成所有操作后,需要关闭ResultSet、Statement 和Connection等资源,释放内存。
三、实验收获1. 掌握JDBC的基本使用方法:通过本次实验,我了解了JDBC的基本使用方法,包括建立数据库连接、执行SQL语句和处理结果集等。
2. 熟悉常用的JDBC API:在实验过程中,我熟悉了一些常用的JDBC API,如DriverManager类、Connection接口、Statement接口和ResultSet接口等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
学院计算机学院班级学号姓名
课程名称Java程序设计实验日期
实验名称数据库应用开发成绩
实验目的:深入理解JDBC数据库驱动程序的概念,掌握JDBC提供的访问数据库相关接口和类的应用,掌握使用JDBC的Java数据库应用程序开发的基本步骤和方法。
实验条件:使用JDK和Eclipse
实验目的
本实验要求学生使用JDBC提供的接口和类编写一个Java应用程序,实现对学生数据信息的查询、删除、插入、更新等操作。
学生数据库(student)在MySQL数据库服务器中创建。
1. 在MySQL中创建学生数据库student,其中一个学生信息表stuinfo结构如下:
图1 stuinfo表结构
2. 设计一个Java程序,界面如图2所示,实现以下功能:
(1)点击“全部检索”按钮,检索stuinfo表的所有记录,显示在上面的JTable组件中;
(2)输入查询学号,点击“查询”按钮,查询该学生信息显示在左边面板中,查询不到时弹出信息提示。
(3)左边面板中输入学生信息,点击“添加”按钮,将此学生信息插入stuinfo表中,弹出插入是否成功的提示框。
(4)点击“删除”按钮,依据上边学号值删除该学生记录,弹出删除是否成功的提示框。
(5)点击“更新”按钮,依据上边学号值更新该学生的其它信息,弹出更新是否成功的提示框。
实验结果
实验总结
每次对学生进行增删改查后,表要实时变化。
我在界面的代码中写了一个refresh函数,每当有有数据变化,它都会将当前表所在的JScrollPane移除,之后TableModel再从数据库中读取数据,重新建立一个表格,再将其添加到新建的JScrollPane中,放到界面中去。