Java对MySQL数据库进行连接、查询和修改操作方法

 更新时间:2017年07月17日 17:02:03   投稿:mrr  
这篇文章主要介绍了Java对MySQL数据库进行连接、查询和修改操作方法,需要的朋友可以参考下

0. 一般过程:

  (1) 调用Class.forName()方法加载驱动程序。

  (2) 调用DriverManager对象的getConnection()方法,获得一个Connection对象。

  (3) 创建一个Statement对象,准备一个SQL语句,这个SQL语句可以是Statement对象(立即执行的的语句)、PreparedStatement语句(预编译的语句)或CallableStatement对象(存储过程调用的语句)。

  (4) 调用excuteQuery()等方法执行SQL语句,并将结果保存在ResultSet对象;或者调用executeUpdate()等方法执行SQL语句,不返回ResultSet对象的结果。

  (5)对返回的ResultSet对象进行显示等相当的处理。

  (6)释放资源。

1. 连接数据库

  (1) 下载Mysql连接驱动

网址: http://dev.mysql.com/downloads/connector/j/ ,下载后放在F:\博士科研资料\数据库学习\mysql相关程序文件中,解压。

  (2) 加载JDBC驱动

操作方法:在Eclipse中,选中相应的工程,点击Project-Properties中的Java Build Path,在Libraries中增加mysql-connector-java-5.1.21-bin.jar,点OK。

  (3) 建一个简单的数据库如下:

import java.sql.*;
public class GetConnection {
  public static void main(String[] args){
    try{
      //调用Class.forName()方法加载驱动程序
      Class.forName("com.mysql.jdbc.Driver");
      System.out.println("成功加载MySQL驱动!");
    }catch(ClassNotFoundException e1){
      System.out.println("找不到MySQL驱动!");
      e1.printStackTrace();
    }
    String url="jdbc:mysql://localhost:3306/mysql";  //JDBC的URL  
    //调用DriverManager对象的getConnection()方法,获得一个Connection对象
    Connection conn;
    try {
      conn = DriverManager.getConnection(url,  "root","");
      //创建一个Statement对象
      Statement stmt = conn.createStatement(); //创建Statement对象
      System.out.print("成功连接到数据库!");
      stmt.close();
      conn.close();
    } catch (SQLException e){
      e.printStackTrace();
    }
  }
}

2. 查询数据表

  在询数据表时,需要用到ResultSet接口,它类似于一个数据表,通过该接口的实例可以获得检索结果集,以及对应数据表的接口信息。

import java.sql.*;
public class SelectTable {
  public static void main(String[] args){
    try{
      //调用Class.forName()方法加载驱动程序
      Class.forName("com.mysql.jdbc.Driver");
      System.out.println("成功加载MySQL驱动!");
      String url="jdbc:mysql://localhost:3306/aniu";  //JDBC的URL  
      Connection conn;
      conn = DriverManager.getConnection(url,  "root","");
      Statement stmt = conn.createStatement(); //创建Statement对象
      System.out.println("成功连接到数据库!");
      String sql = "select * from stu";  //要执行的SQL
      ResultSet rs = stmt.executeQuery(sql);//创建数据对象
        System.out.println("编号"+"\t"+"姓名"+"\t"+"年龄");
        while (rs.next()){
          System.out.print(rs.getInt(1) + "\t");
          System.out.print(rs.getString(2) + "\t");
          System.out.print(rs.getInt(3) + "\t");
          System.out.println();
        }
        rs.close();
        stmt.close();
        conn.close();
      }catch(Exception e)
      {
        e.printStackTrace();
      }
  }
}

3. 修改和删除数据库

//修改删除数据
import java.sql.*;
public class UpdateDeleteDemo {
  public static void main(String[] args)throws Exception{
    try{
      //调用Class.forName()方法加载驱动程序
      Class.forName("com.mysql.jdbc.Driver");
      System.out.println("成功加载MySQL驱动!");
      String url="jdbc:mysql://localhost:3306/aniu";  //JDBC的URL  
      Connection conn;
      conn = DriverManager.getConnection(url,  "root","");
      Statement stmt = conn.createStatement(); //创建Statement对象
      System.out.println("成功连接到数据库!");
      //查询数据的代码
      String sql = "select * from stu";  //要执行的SQL
      ResultSet rs = stmt.executeQuery(sql);//创建数据对象
        System.out.println("编号"+"\t"+"姓名"+"\t"+"年龄");
        while (rs.next()){
          System.out.print(rs.getInt(1) + "\t");
          System.out.print(rs.getString(2) + "\t");
          System.out.print(rs.getInt(3) + "\t");
          System.out.println();
        }
      //修改数据的代码
      String sql2 = "update stu set name=? where number=?";
      PreparedStatement pst = conn.prepareStatement(sql2);
      pst.setString(1,"8888");
      pst.setInt(2,198);
      pst.executeUpdate();
      //删除数据的代码
      String sql3 = "delete from stu where number=?";
      pst = conn.prepareStatement(sql3);
      pst.setInt(1,701);
      pst.executeUpdate();
      ResultSet rs2 = stmt.executeQuery(sql);//创建数据对象
      System.out.println("编号"+"\t"+"姓名"+"\t"+"年龄");
      while (rs.next()){
        System.out.print(rs2.getInt(1) + "\t");
        System.out.print(rs2.getString(2) + "\t");
        System.out.print(rs2.getInt(3) + "\t");
        System.out.println();
      }
      rs.close();
      stmt.close();
      conn.close();
      }catch(Exception e)
      {
        e.printStackTrace();
      }
  }
}

以上所述是小编给大家介绍的Java对MySQL数据库进行连接、查询和修改操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 详解Java读取Jar中资源文件及示例代码

    详解Java读取Jar中资源文件及示例代码

    这篇文章主要介绍了详解Java读取Jar中资源文件及实现代码的相关资料,在开发java项目的时候,经常会用到jar包,这里就说下如何读取,需要的朋友可以参考下
    2017-07-07
  • 2020Mac M1安装jdk和IDEA的详细方法

    2020Mac M1安装jdk和IDEA的详细方法

    这篇文章主要介绍了2020Mac M1安装jdk和IDEA的详细方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Java 覆盖equals时总要覆盖hashcode

    Java 覆盖equals时总要覆盖hashcode

    这篇文章主要介绍了Java 覆盖equals时总要覆盖hashcode的相关资料,这里附有实例代码,具有参考价值,需要的朋友可以参考下
    2016-12-12
  • java实现word文档转pdf并添加水印的方法详解

    java实现word文档转pdf并添加水印的方法详解

    这篇文章主要介绍了java实现word文档转pdf并添加水印的方法,结合实例形式详细分析了java word文档转PDF相关实现技巧与操作注意事项,需要的朋友可以参考下
    2019-09-09
  • springboot整合apache ftpserver详细教程(推荐)

    springboot整合apache ftpserver详细教程(推荐)

    这篇文章主要介绍了springboot整合apache ftpserver详细教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • Flask实现异步非阻塞请求功能实例解析

    Flask实现异步非阻塞请求功能实例解析

    这篇文章主要介绍了Flask实现异步非阻塞请求功能实例解析,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • 关于@Value注解取不到值的几种情况

    关于@Value注解取不到值的几种情况

    这篇文章主要介绍了关于@Value注解取不到值的几种情况,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • 解决使用this.getClass().getResource()获取文件时遇到的坑

    解决使用this.getClass().getResource()获取文件时遇到的坑

    这篇文章主要介绍了解决使用this.getClass().getResource()获取文件时遇到的坑问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Java面试突击为什么要用HTTPS及它的优点

    Java面试突击为什么要用HTTPS及它的优点

    这篇文章主要介绍了Java面试突击为什么要用HTTPS及它的优点,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • Java 回调函数深入理解

    Java 回调函数深入理解

    这篇文章主要介绍了 Java 回调函数深入理解的相关资料,需要的朋友可以参考下
    2017-03-03

最新评论