欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java使用JDBC操作MySQL数据库

程序员文章站 2022-07-11 08:35:45
一、JDBC简介 JDBC(Java DataBase Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一的访问,它由一组用Java语言编写的类和接口组成。使用JDBC访问数据库的基本步骤如下: 1、加载JDBC驱动程序 2、建立数据库连接 3、创建操 ......

一、jdbc简介

   jdbc(java database connectivity)是一种用于执行sql语句的java api,可以为多种关系数据库提供统一的访问,它由一组用java语言编写的类和接口组成。使用jdbc访问数据库的基本步骤如下:

    1、加载jdbc驱动程序

    2、建立数据库连接

    3、创建操作数据库sql的对象

    4、执行语句并分析执行结果

    5、关闭连接

  在使用jdbc操作数据库之前,我们需要先向项目中加入jdbc驱动文件,将其放到项目中的lib文件夹下即可。

Java使用JDBC操作MySQL数据库

  放入jdbc驱动文件(下)后,eclipse会自动将其加载到项目中(上)。

二、使用jdbc访问mysql数据库

  我们在mysql数据库中建立了test库,test库中含有test表,表中的数据如下:

Java使用JDBC操作MySQL数据库

1、通过statement对象执行静态sql语句

 1 package test;
 2 
 3 import java.sql.*;                                        //导入java提供的数据库操作包
 4 
 5 public class mysql {
 6     public static void main(string[] args) {
 7 
 8         string url = "jdbc:mysql://localhost:3306/test?servertimezone=asia/shanghai";  //数据库连接地址,此处表示连接本机3306端口的mysql数据库里的test库,使用上海时区
 9         connection con;
10         statement statement;
11         resultset rs;
12         int i;
13         string string;
14             
15         try {
16             class.forname("com.mysql.cj.jdbc.driver");                 //加载jdbc驱动程序
17             con = drivermanager.getconnection(url, "root", "root");         //建立与数据库的连接,后两个参数分别为账号和密码
18             statement = con.createstatement();                     //创建statement对象
19                 
20             rs = statement.executequery("select * from test");            //执行sql查询语句,返回结果集
21             system.out.println("查询结果为:");
22             while(rs.next()) {                               //循环操作结果集
23                 string = rs.getstring("id") + "——" + rs.getstring("name");
24                 system.out.println(string);
25             }
26                 
27             i = statement.executeupdate("insert into test value(4,'wxc')");    //执行sql更新语句,返回影响行数
28             system.out.println("影响行数为:" + i);
29                 
30             rs.close();                                   //关闭结果集
31             statement.close();                               //关闭statement对象
32             con.close();                                  //关闭与数据库的连接
33         } catch (exception e) {
34             e.printstacktrace();
35         }
36     }
37 }

  执行结果如下:

Java使用JDBC操作MySQL数据库

2、通过preparedstatement对象执行预编译sql语句

 1 public class mysql {                                   //大部分操作与执行静态sql语句类似,相同部分此处不再赘述 
 3     public static void main(string[] args) {
 4 
 5         string url = "jdbc:mysql://localhost:3306/test?servertimezone=asia/shanghai";
 6         connection con;
 7         string sql;
 8         preparedstatement preparedstatement;
 9         resultset rs;
10         int i;
11         string string;
12             
13         try {
14             class.forname("com.mysql.cj.jdbc.driver");
15             con = drivermanager.getconnection(url, "root", "root");
16                 
17             sql = "select * from test where id = ?";              //编写sql查询语句,问号为占位符,之后会被参数取代
18             preparedstatement = con.preparestatement(sql);          //创建preparedstatement对象
19             preparedstatement.setstring(1, "3");                //设置参数,第一个参数表示选择第几个占位符,第二个参数表示要输入的值
20             rs = preparedstatement.executequery();
21             system.out.println("查询结果为:");
22             while(rs.next()) {
23                 string = rs.getstring("id") + "——" + rs.getstring("name");
24                 system.out.println(string);
25             }
26                 
27             sql = "delete from test where id = ?";
28             preparedstatement = con.preparestatement(sql);
29             preparedstatement.setstring(1, "3");
30             i = preparedstatement.executeupdate();
31             system.out.println("影响行数为:" + i);
32                 
33             rs.close();
34             preparedstatement.close();
35             con.close();
36         } catch (exception e) {
37             e.printstacktrace();
38         }
39     }
40 }

  执行结果如下:

Java使用JDBC操作MySQL数据库