300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > java操作MySQL数据库(插入 删除 修改 查询 获取所有行数)

java操作MySQL数据库(插入 删除 修改 查询 获取所有行数)

时间:2022-07-20 21:20:20

相关推荐

java操作MySQL数据库(插入 删除 修改 查询 获取所有行数)

插播一段广告哈:我之前共享了两个自己写的小应用,见这篇博客百度地图开发的两个应用源码共享(Android版),没想到有人找我来做毕设了,年前交付,时间不是很紧,大概了解了下就接下了,主要用到的就是和服务器端交互,这个我之前没做过,因此接下来的时间里会陆续更新这一些列的博客,记录学习的点滴。第一篇主要是java读取mysql数据库文件。安装及配置文件稍后会上传到我的百度网盘供大家下载。其他的介绍在网上都可以找到相关的博客,下面直接给出源代码。

mysql建立一个名为“vge_whu”的数据库,并在该数据库中新建一个user表。具体信息如下图所示。

MySQLHelper.java,mySQL操作类,后面陆续完善该类,源码如下:

package edu.whu.vge;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;/*** * 项目名称:JavaSQL1 * 类名称:DBHelper * 类描述:MySQL数据库操作类 * 创建人:Administrator* 创建时间:-11-25 下午5:11:11 * 修改备注: * @version*/public class MySQLHelper{public static final String url = "jdbc:mysql://127.0.0.1/vge_whu"; //数据库连接public static final String name = "com.mysql.jdbc.Driver"; //程序驱动public static final String user = "root"; //用户名public static final String password = "abc@123"; //密码public Connection conn = null;public PreparedStatement pst = null;/*** * 创建一个新的实例 DBHelper. * * @param sql: SQL查询语句*/public MySQLHelper(String sql){try{Class.forName(name);// 指定连接类型conn = DriverManager.getConnection(url, user, password);// 获取连接pst = conn.prepareStatement(sql);// 准备执行语句} catch (Exception e){e.printStackTrace();}}/*** * 方法名称: close ;* 方法描述: 关闭数据库连接 ;* 参数 : * 返回类型: void ;* 创建人:James;* 创建时间:-11-25 下午7:00:12;* @throws*/public void close(){try{this.conn.close();this.pst.close();} catch (SQLException e){e.printStackTrace();}}}

再写一个java文件来调用MySQLHelper类执行相关操作,暂时只有查询,后面补充新增、删除、更新等操作。

package edu.whu.vge;import java.sql.*;/*** * 项目名称:JavaSQL1 * 类名称:JDBCTest * 类描述: Java连接MySQL* 测试 创建人:Administrator* 创建时间:-11-25 下午5:11:43* 修改备注:* * @version 1.0*/public class JDBCTest{static String sql = null;static MySQLHelper db1 = null;static ResultSet ret = null;public static void main(String[] args){sql = "select * from user";// SQL语句db1 = new MySQLHelper(sql);// 创建DBHelper对象System.out.println("编号--姓名--性别--年龄-------电话-------QQ---------邮箱");try{ret = db1.pst.executeQuery();// 执行语句,得到结果集while (ret.next()){String uId = ret.getString(1);String uName = ret.getString(2);String uSex = ret.getString(3);String uAge = ret.getString(4);String uTel = ret.getString(5);String uQQ = ret.getString(6);String uMail = ret.getString(7);System.out.println(uId + "\t" + uName + "\t" + uSex + "\t"+ uAge + "\t" + uTel + "\t" + uQQ + "\t" + uMail);}// 显示数据ret.close();db1.close();// 关闭连接} catch (SQLException e){e.printStackTrace();}}}

执行结果如下图所示。

-----------------------------华丽的分割线(.11.26)--------------------------------------

MySQLHelper操作类

package edu.whu.vge;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;/*** * @项目名称:JavaSQL1* @类名称:MySQLHelper* @类描述:mysql操作类* @创建人:奔跑的鸡丝* @创建时间:-11-25 下午8:58:34* @修改备注:* @版本:*/public class MySQLHelper{public static final String url = "jdbc:mysql://127.0.0.1/vge_whu"; // 数据库连接public static final String name = "com.mysql.jdbc.Driver"; // 程序驱动public static final String user = "root"; // 用户名public static final String password = "abc@123"; // 密码public Connection connection = null; // 数据库连接public PreparedStatement preparedStatement = null; // 待查询语句描述对象/*** * 创建一个新的实例 DBHelper.* * @param sql* : SQL查询语句*/public MySQLHelper(){try{Class.forName(name);// 指定连接类型connection = DriverManager.getConnection(url, user, password);// 获取连接} catch (Exception e){e.printStackTrace();}}/*** * @方法名称: close ;* @方法描述: 关闭数据库 ;* @参数 :* @返回类型: void ;* @创建人:奔跑的鸡丝 ;* @创建时间:-11-25 下午8:58:14;* @throws*/public void close(){try{this.connection.close();this.preparedStatement.close();} catch (SQLException e){System.out.println("关闭数据库出现问题!!");e.printStackTrace();}}/*** * @方法名称: query ;* @方法描述: 查询操作 ;* @参数 :@param sql:查询操作语句 ;* @返回类型: ResultSet :查询结果数据集;* @创建人:奔跑的鸡丝 ;* @创建时间:-11-25 下午8:49:25;* @throws*/public ResultSet query(String sql){ResultSet resultSet = null;try{preparedStatement = connection.prepareStatement(sql); // 准备执行语句resultSet = preparedStatement.executeQuery();} catch (Exception e){System.out.println("查询错误,请检查!!");e.printStackTrace();}return resultSet;}/*** * @方法名称: executeNonquery ;* @方法描述: 插入、修改、删除等操作 ;* @参数 :@param sql:插入语句* @返回类型: boolean ;* @创建人:奔跑的鸡丝;* @创建时间:-11-25 下午8:45:49;* @throws*/public boolean executeNonquery(String sql){boolean flag = false;try{preparedStatement = connection.prepareStatement(sql);preparedStatement.executeUpdate();flag = true;} catch (Exception e){System.out.println("插入数据库时出现错误!!");e.printStackTrace();}return flag;}/*** * @方法名称: getCount ;* @方法描述: 获取表记录数 ;* @参数 :@param sql* @参数 :@return * @返回类型: int 记录数;* @创建人:奔跑的鸡丝 ;* @创建时间:-11-26 下午2:40:37;* @throws*/public int getCount(String sql){int count=0;try{preparedStatement=connection.prepareStatement(sql);ResultSet resultSet=preparedStatement.executeQuery();resultSet.last();count=resultSet.getRow();resultSet.close();} catch (Exception e){System.out.println("查询总记录数失败!!");e.printStackTrace();}return count;}}

实例调用:

package edu.whu.vge;import java.sql.*;/*** * 项目名称:JavaSQL1 类名称:JDBCTest 类描述: Java连接MySQL 测试 创建人:Administrator* 创建时间:-11-25 下午5:11:43 修改备注:* * @version 1.0*/public class JDBCTest{static MySQLHelper pMySQLHelper = null;public static void main(String[] args){insert();update();delete();query();getCount();}/*** * @方法名称: query ;* @方法描述: 查询数据库 ;* @参数 :* @返回类型: void ;* @创建人:奔跑的鸡丝 ;* @创建时间:-11-25 下午9:03:00;* @throws*/private static void query(){pMySQLHelper = new MySQLHelper();// 创建MySQLHelper对象String sql = "select * from user"; // 查询SQL语句ResultSet pResultSet = null;System.out.println("编号--姓名--性别--年龄-------电话-------QQ---------邮箱");try{pResultSet = pMySQLHelper.query(sql);// 执行语句,得到结果集// 显示数据while (pResultSet.next()){String uId = pResultSet.getString(1);String uName = pResultSet.getString(2);String uSex = pResultSet.getString(3);String uAge = pResultSet.getString(4);String uTel = pResultSet.getString(5);String uQQ = pResultSet.getString(6);String uMail = pResultSet.getString(7);System.out.println(uId + "\t" + uName + "\t" + uSex + "\t"+ uAge + "\t" + uTel + "\t" + uQQ + "\t" + uMail);}pMySQLHelper.close();pResultSet.close();} catch (SQLException e){e.printStackTrace();}}/*** * @方法名称: insert ;* @方法描述: 插入 ;* @参数 :* @返回类型: void ;* @创建人:奔跑的鸡丝 ;* @创建时间:-11-25 下午9:40:41;* @throws*/private static void insert(){try{pMySQLHelper = new MySQLHelper();String insert = "Insert Into user Values ('301610308','老大','男',58,'123456789','123456789','1234@')";if (pMySQLHelper.executeNonquery(insert)){System.out.println("插入成功!!");}pMySQLHelper.close();} catch (Exception e){System.out.println("插入出錯!!");e.printStackTrace();}}/*** * @方法名称: update ;* @方法描述: 修改 ;* @参数 :* @返回类型: void ;* @创建人:奔跑的鸡丝 ;* @创建时间:-11-26 下午2:19:14;* @throws*/private static void update(){pMySQLHelper = new MySQLHelper();String update = "Update user Set Name='奔跑的鸡丝' Where StudentID='301610305'";if (pMySQLHelper.executeNonquery(update)){System.out.println("修改成功!!");}pMySQLHelper.close();}/*** * @方法名称: delete ;* @方法描述: 删除 ;* @参数 :* @返回类型: void ;* @创建人:奔跑的鸡丝 ;* @创建时间:-11-26 下午2:33:40;* @throws*/private static void delete(){pMySQLHelper = new MySQLHelper();String delete = "Delete From user Where Name='朱庆'";if (pMySQLHelper.executeNonquery(delete)){System.out.println("删除成功!!");}pMySQLHelper.close();}private static void getCount(){pMySQLHelper=new MySQLHelper();String getCountString="Select * From user";System.out.println("记录数为:"+pMySQLHelper.getCount(getCountString));}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。