是简称,全称是java database connectivity,专门用来完成 java程序 和 数据库 的连接的技术. 2,使用步骤
1,导入jar包(使用JDBC提供了丰富的工具类)
2,提供连接数据库的参数(用户名root 密码root 端口号3306)
3,在java程序中,发起SQL语句操作数据库
4,如果数据库有查到的结果,返回给java程序 3,入门案例
1,创建project: File - New - Project - 选择java - next - next - 输入工程名称 - Finish
2,导入jar包:
找到磁盘里的mysql-connector-java-5.1.32.jar复制,粘贴到Project里.
在IDEA里,选中jar包,右键编译(add as library…),ok
检查是否编译成功:看到IDEA里的jar包可以被点开了
package cn.tedu.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
//JDBC的入门案例:
//JDBC是java连接数据库的一个标准,本质上就是一堆的工具类
public class Test1 {
public static void main(String[] args) throws Exception {
//1,注册驱动
Class.forName("com.mysql.jdbc.Driver");//全路径
//2,获取数据库的连接(用户名/密码)
//jdbc连接mysql数据库的协议//本机:端口号/数据库的名字
String url="jdbc:mysql://localhost:3306/cgb2108" ;
Connection c = DriverManager.getConnection(
url,"root","root");
//3,获取传输器
Statement s = c.createStatement();
//4,执行SQL,并返回结果集
String sql="select * from dept" ;//查询dept表的所有数据
ResultSet r = s.executeQuery(sql);//executeQuery执行查询的SQL,executeUpdate执行增删改查的SQL
//5,处理数据库返回的结果
while(r.next()){//next()判断resultset中有数据吗
//getXxx()获取resultset中的数据
int a = r.getInt(1);//获取第1列的 整数值
String b = r.getString(2);//获取第2列的 字符串值
String c1 = r.getString(3);//获取第3列的 字符串值
System.out.println(a+b+c1);
}
//6,释放资源
r.close();//释放结果集
s.close();//释放传输器
c.close();//释放连接器
}
}
4.模拟用户登录
import java.sql.*;
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) throws Exception {
login();//模拟用户登录
}
private static void login() throws Exception {
Scanner input = new Scanner(System.in);
//1,注册驱动
Class.forName("com.mysql.jdbc.Driver");
//2,获取和数据库的连接
String url="jdbc:mysql:///cgb2108?characterEncoding=utf8";
Connection conn = DriverManager.getConnection(url, "root", "root");
System.out.println("输入user的值");
String user=input.next();
System.out.println("输入pwd的值");
String pwd=input.next();
//3,获取传输器,执行SQL
PreparedStatement ps = conn.prepareStatement("select * from tb_user where id=? and name=?");
ps.setString(1,user);
ps.setString(2,pwd);
ResultSet rs = ps.executeQuery();
if(rs.next()){
System.out.println("登录成功");
}else {
System.out.println("登录失败");
}
ps.close();
conn.close();
}
}



