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

2023-05-29,,

插播一段广告哈:我之前共享了两个自己写的小应用,见这篇博客百度地图开发的两个应用源码共享(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
    * 创建时间:2014-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;
    * 创建时间:2014-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
    * 创建时间:2014-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();
    }
    }
    }

执行结果如下图所示。

-----------------------------华丽的分割线(2014.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操作类
    * @创建人:奔跑的鸡丝
    * @创建时间:2014-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 ;
    * @创建人:奔跑的鸡丝 ;
    * @创建时间:2014-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 :查询结果数据集;
    * @创建人:奔跑的鸡丝 ;
    * @创建时间:2014-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 ;
    * @创建人:奔跑的鸡丝;
    * @创建时间:2014-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 记录数;
    * @创建人:奔跑的鸡丝 ;
    * @创建时间:2014-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
      * 创建时间:2014-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 ;
      * @创建人:奔跑的鸡丝 ;
      * @创建时间:2014-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 ;
      * @创建人:奔跑的鸡丝 ;
      * @创建时间:2014-11-25 下午9:40:41;
      * @throws
      */
      private static void insert()
      {
      try
      {
      pMySQLHelper = new MySQLHelper();
      String insert = "Insert Into user Values ('2010301610308','老大','男',58,'123456789','123456789','1234@163.com')";
      if (pMySQLHelper.executeNonquery(insert))
      {
      System.out.println("插入成功!!");
      }
      pMySQLHelper.close();
      } catch (Exception e)
      {
      System.out.println("插入出錯!!");
      e.printStackTrace();
      }
      }
      /**
      *
      * @方法名称: update ;
      * @方法描述: 修改 ;
      * @参数 :
      * @返回类型: void ;
      * @创建人:奔跑的鸡丝 ;
      * @创建时间:2014-11-26 下午2:19:14;
      * @throws
      */
      private static void update()
      {
      pMySQLHelper = new MySQLHelper();
      String update = "Update user Set Name='奔跑的鸡丝' Where StudentID='2010301610305'";
      if (pMySQLHelper.executeNonquery(update))
      {
      System.out.println("修改成功!!");
      }
      pMySQLHelper.close();
      }
      /**
      *
      * @方法名称: delete ;
      * @方法描述: 删除 ;
      * @参数 :
      * @返回类型: void ;
      * @创建人:奔跑的鸡丝 ;
      * @创建时间:2014-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));
      }

      from: http://blog.csdn.net/giser_whu/article/details/41487213

java操作MySQL数据库(插入、删除、修改、查询、获取所有行数)的相关教程结束。

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

下载本文的Word格式文档,以方便收藏与打印。