JDBC(一) 什么是JDBC?JDBC的简单使用

JDBC(Java Database Connectivity):java数据库连接

sun公司提供的一种java访问数据的规范。

简单来说就是,就是能通过java代码连接并操作数据库


一、为什么会出现JDBC呢?

数据库的种类有很多,每种数据库的连接方式还不一样,sun公司就提供了一种规范,让数据库厂商根据这种规范去实现底层的访问规则。我们要连接数据库时,只需要使用sun公司提供的驱动即可(即jar包)。

二、怎么连接数据库

1、导入sun公司提供的jar包

jar包下载地址:https://dev.mysql.com/downloads/connector/j/

选择Platform Independent(平台无关的)

将jar包复制到项目中的lib文件夹中,普通java项目自己在工程目录下新建lib文件

右键jar包->Build Path->Add to Build Path,将jar包添加到java项目中

2、加载数据库驱动

新建一个测试类Test.java,在main方法中加载数据库驱动

3、连接数据库

4、使用查询语句

5、释放资源,释放顺序ResultSet->Statement->Connection,可以在finally代码块中释放

6、完整代码

package com.yzh.test;

import java.io.ObjectInputStream.GetField;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JDBCTest {

	public static void main(String[] args) {
		Connection conn = null;
		Statement st = null;
		ResultSet rs = null;
		
		try {
			//1、加载数据库驱动
			Class.forName("com.mysql.cj.jdbc.Driver");
			
			//2、从DriverManager类中获取连接对象,需要三个参数:url,user,password
			//url:数据库的连接地址,jdbc:mysql://localhost:3306/,这一段是后面接的是数据库的名字
			//user和password分别是数据库的用户名和密码
			conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bin_db?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC","root","123456");
			
			//3、从连接对象获取Statement对象
			st = conn.createStatement();
			
			//4、用Statement对象执行sql语句,获得ResultSet对象
			String sql = "select * from paper";
			rs = st.executeQuery(sql);
			
			//5、遍历ResultSet
			while(rs.next()){
				int id_p = rs.getInt("id_p");
				String name = rs.getString("name");
				System.out.println("id_p="+id_p + " name=" + name);
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			if(rs != null){
				try {
					rs.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}finally{
					rs = null;
				}
			}
			if(st != null){
				try {
					st.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}finally{
					st = null;
				}
			}
			if(conn != null){
				try {
					conn.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}finally{
					conn = null;
				}
			}
		}

	}

}

7、注意事项

mysql8.0以前加载驱动为"com.mysql.jdbc.Driver"

mysql8.0以后加载驱动为"com.mysqk.cj.jdbc.Driver"

在url处8.0后的mysql需要添加多个参数,例如时区等问题,现在本人还弄不清楚,先记上,以后解决

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值