1.注册驱动:通知Java程序我们要连接的是哪个品牌的数据库

2.获取数据库连接:Java进程和Mysql进程之间的通道开启了

3.获取数据库操作对象:这个对象是用来执行sql语句的

4.执行SQL语句:对数据库进行CRUD(增删改查)操作

5.处理查询结果集:如果第四步有select语句才有这一步

6.释放资源:关闭所有资源

例1:不带处理查询结果集的JDBC

 1 package com.xiaoma.JDBC;
 2 
 3 import java.sql.*;
 4 
 5 public class TestJDBC {
 6     public static void main(String[] args) throws SQLException {
 7         //1.注册驱动
 8         com.mysql.jdbc.Driver driver=new com.mysql.jdbc.Driver();
 9         DriverManager.registerDriver(driver);
10         //2.获取数据库连接对象
11         String url="jdbc:mysql://127.0.0.1:3306/jdbc?useUnicode=true&characterEncoding=utf-8";
12         String username="root";
13         String password="123456";
14         Connection conn=DriverManager.getConnection(url,username,password);
15         System.out.println(conn);
16         //3.获取数据库操作对象(通过一个Connection连接对象可以拿到多个操作对象)
17         Statement statement = conn.createStatement();
18         //4.执行sql语句(这里以插入和删除为例,其余同理,前提是要会写sql语句)
19         //String InsertSql="insert into people(name,age,address) values('小马',18,'山东省')";
20         String DeleteSql="delete from people where name='小马'";
21         //这个executeUpdate方法专门用来执行sql的增删改查语句的,其中返回值为影响力数据库中的数据条数,也就是影响力几行
22         int i = statement.executeUpdate(DeleteSql);
23         System.out.println(i);
24         //5.释放资源,先释放statement再释放connection
25         if (statement != null) {
26             statement.close();
27         }
28         if (conn != null){
29             conn.close();
30         }
31     }
32 }

例2:带处理查询结果集的JDBC

 1 package com.xiaoma.JDBC;
 2 
 3 import java.sql.*;
 4 
 5 public class TestJDBC02 {
 6     public static void main(String[] args) throws SQLException {
 7         //1.注册驱动
 8         com.mysql.jdbc.Driver driver=new com.mysql.jdbc.Driver();
 9         DriverManager.registerDriver(driver);
10 
11         //2.获取数据库连接对象
12         String url="jdbc:mysql://127.0.0.1:3306/jdbc?useUnicode=true&characterEncoding=utf-8";
13         String username="root";
14         String password="123456";
15         Connection conn=DriverManager.getConnection(url,username,password);
16         System.out.println(conn);
17 
18         //3.获取数据库操作对象(通过一个Connection连接对象可以拿到多个操作对象)
19         Statement statement = conn.createStatement();
20 
21         //4.执行sql语句(这里以插入和删除为例,其余同理,前提是要会写sql语句)
22         String SeleteSql="select * from people";
23         //这个executeUpdate方法专门用来执行sql的增删改查语句的,其中返回值为影响力数据库中的数据条数,也就是影响力几行
24         ResultSet resultSet = statement.executeQuery(SeleteSql);
25 
26         //5.处理查询结果集
27         while(resultSet.next()){
28             //这个getString()方法是不管数据库中的值是什么类型的,他都会以String类型返回
29             //getString()是通过下标取值的,默认都是以字符串类型取出,可以通过相应类型的get方法取出特定类型的值
30             System.out.println(resultSet.getString(1));
31             System.out.println(resultSet.getString(2));
32             System.out.println(resultSet.getString(3));
33             System.out.println(resultSet.getString(4));
34         }
35 
36         //6.释放资源,先释放statement再释放connection
37         if (statement != null) {
38             statement.close();
39         }
40         if (conn != null){
41             conn.close();
42         }
43         if(resultSet!=null){
44             resultSet.close();
45         }
46     }
47 }

 例3:将数据库连接信息写到properties配置文件中,通过读取properties配置文件连接数据库,进行查询(做开发基本上都用这种方式)

 1 package com.xiaoma.JDBC;
 2 
 3 import java.io.IOException;
 4 import java.io.InputStream;
 5 import java.sql.*;
 6 import java.util.Properties;
 7 import java.util.ResourceBundle;
 8 
 9 //读取配置文件
10 public class TestJDBC03 {
11     public static void main(String[] args) throws SQLException, IOException {
12         //获取配置文件数据
13         InputStream is=TestJDBC03.class.getClassLoader().getResourceAsStream("db.properties");
14         Properties pro=new Properties();
15         pro.load(is);
16         String username= pro.getProperty("username");
17         String password=pro.getProperty("password");
18         String url=pro.getProperty("url");
19 
20         //1.注册驱动
21         com.mysql.jdbc.Driver driver=new com.mysql.jdbc.Driver();
22 
23         //2.获取数据库连接对象
24 
25         Connection conn=DriverManager.getConnection(url,username,password);
26         System.out.println(conn);
27 
28         //3.获取数据库操作对象(通过一个Connection连接对象可以拿到多个操作对象)
29         Statement statement = conn.createStatement();
30 
31         //4.执行sql语句(这里以插入和删除为例,其余同理,前提是要会写sql语句)
32         String SeleteSql="select * from people";
33         //这个executeUpdate方法专门用来执行sql的增删改查语句的,其中返回值为影响力数据库中的数据条数,也就是影响力几行
34         ResultSet resultSet = statement.executeQuery(SeleteSql);
35 
36         //5.处理查询结果集
37         while(resultSet.next()){
38             //这个getString()方法是不管数据库中的值是什么类型的,他都会以String类型返回
39             //getString()是通过下标取值的,默认都是以字符串类型取出,可以通过相应类型的get方法取出特定类型的值
40             System.out.println(resultSet.getString(1));
41             System.out.println(resultSet.getString(2));
42             System.out.println(resultSet.getString(3));
43             System.out.println(resultSet.getString(4));
44         }
45 
46         //6.释放资源,先释放statement再释放connection
47         if (statement != null) {
48             statement.close();
49         }
50         if (conn != null){
51             conn.close();
52         }
53         if(resultSet!=null){
54             resultSet.close();
55         }
56     }
57 }

 

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/XiaoMaGuai/p/15385468.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!