1.JDBC之基本概念

JDBC

JDBC:java database connectivity 一套操作数据库的标准规范(可以理解为数据库与java之间的桥梁)

​ 与数据库驱动的关系: 接口与实现的关系

核心对象:

  • Drivermanager:创建连接
  • Connection:一个连接
  • Statement:操作sql语句,并返回相应结果的对象
  • ResultSet:结果集(客户端用来存储表数据的对象)

创建连接:

package JDBC.conn;

import java.sql.Connection;
import java.sql.DriverManager;

public class ConnectionClass {

	public static void main(String[] args) throws Exception {
//1.加载驱动
		//把com.mysql.jdbc.Driver这份字节码加载到JVM中
		//当把一份字节码加载到JVM中时,就会执行字节码中的静态代码块
		Class.forName("com.mysql.cj.jdbc.Driver");
        
        
//2.获取连接对象
		//url 数据库地址
		String url = "jdbc:mysql://localhost:3306/jdbc_db?serverTimezone=GMT";
        //serverTimeZone=GMT是由于版本问题的添加项
		//用户名
		String user = "root";
		//password
		String password ="******";
		Connection conn  = DriverManager.getConnection(url,user,password);
		System.out.println(conn);
	}
}

CRUD操作

步骤:

  1. 加载驱动
  2. 连接数据库
  3. 创建sql语句
  4. 执行sql语句
  5. 释放资源
package JDBC.DML;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class InsertClass {
	public static void main(String[] args) {
		String url = "jdbc:mysql://localhost:3306/jdbc_db?serverTimezone=GMT";
		String user = "root";
		String pwd = "1234";
		Connection conn = null;
		Statement st = null;
		try {
			//1.加载驱动
			Class.forName("com.mysql.cj.jdbc.Driver");
			
			//2.创建连接
			
			
			 conn = DriverManager.getConnection(url, user, pwd);
			
			//3.创建sql语句
			String sql = "insert into stu values(1,'pony',20)";
			
			//4.执行sql语句
			 st = conn.createStatement();
			int row = st.executeUpdate(sql);
			System.out.println(row);
		}catch(Exception e) {
			e.printStackTrace();
		}finally {
			//5.释放资源
			if(st!=null) {
				try{
					st.close();	
				}catch(Exception e) {
					e.printStackTrace();
				}
			}
			if(conn!=null) {
				try {
					conn.close();
				}catch(Exception e) {
					e.printStackTrace();
				}
			}
			
		}
	}
}

结果集

DQL查询返回的是一个虚拟结果集对象ResultSet。通过调用ResultSet对象的相关方法即可实先对结果集的访问。

示例:

 ResultSet res = st.executeQuery(sql);
			if(res.next()) {
				/*int count = res.getInt(1);*/
				int count = res.getInt("total");
				System.out.println("count = "+ count);
			}
原文地址:https://www.cnblogs.com/ma-liner/p/14196602.html