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数据库进行连接、查询和修改操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 解决Callable的对象中,用@Autowired注入别的对象失败问题

    解决Callable的对象中,用@Autowired注入别的对象失败问题

    这篇文章主要介绍了解决Callable的对象中,用@Autowired注入别的对象失败问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • Spring实战之Bean的后处理器操作示例

    Spring实战之Bean的后处理器操作示例

    这篇文章主要介绍了Spring实战之Bean的后处理器操作,结合实例形式详细分析了Bean的后处理器相关配置、操作方法及使用注意事项,需要的朋友可以参考下
    2019-12-12
  • Java中的事件处理机制详细解读

    Java中的事件处理机制详细解读

    这篇文章主要介绍了Java中的事件处理机制详细解读,ava事件处理是采取"委派事件模型",当事件发生时,产生事件的对象会把此"信息"传递给"事件的监听者"处理,需要的朋友可以参考下
    2024-01-01
  • Apache Dubbo的SPI机制是如何实现的

    Apache Dubbo的SPI机制是如何实现的

    SPI全称为Service Provider Interface,对应中文为服务发现机制。SPI类似一种可插拔机制,首先需要定义一个接口或一个约定,然后不同的场景可以对其进行实现,调用方在使用的时候无需过多关注具体的实现细节。在Java中,SPI体现了面向接口编程的思想,满足开闭设计原则。
    2021-06-06
  • java实现字符串匹配求两个字符串的最大公共子串

    java实现字符串匹配求两个字符串的最大公共子串

    这篇文章主要介绍了java实现求两个字符串最大公共子串的方法,详细的描述了两个字符串的最大公共子串算法的实现,需要的朋友可以参考下
    2016-10-10
  • Java_Spring之基于注解的 AOP 配置

    Java_Spring之基于注解的 AOP 配置

    这篇文章主要介绍了Java_Spring中基于注解的AOP配置,我们要先进行环境的搭建,在进行注解配置,感兴趣的同学可以参考阅读
    2023-04-04
  • Java判断IP地址为内网IP还是公网IP的方法

    Java判断IP地址为内网IP还是公网IP的方法

    这篇文章主要介绍了Java判断IP地址为内网IP还是公网IP的方法,针对tcp/ip协议中保留的三个私有地址进行判断分析,是比较实用的技巧,需要的朋友可以参考下
    2015-01-01
  • 详解java开发webservice的几种方式

    详解java开发webservice的几种方式

    webservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,有兴趣的可以了解一下。
    2016-11-11
  • 解决Java原生压缩组件不支持中文文件名乱码的问题

    解决Java原生压缩组件不支持中文文件名乱码的问题

    本篇文章主要介绍了解决Java原生压缩组件不支持中文文件名乱码的问题,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-03
  • 聊聊springboot 整合 hbase的问题

    聊聊springboot 整合 hbase的问题

    这篇文章主要介绍了springboot 整合 hbase的问题,文中给大家提到配置linux服务器hosts及配置window hosts的相关知识,需要的朋友可以参考下
    2021-11-11

最新评论