目录
一.什么是JDBC
JDBC: Java数据库连接(Java DataBase Connectivity)
可实现用Java代码操作数据库
是JavaEE技术之一,JavaEE是13种技术的统称
是SUN公司提供的一套规范、一套接口
JDBC的产生:早期使用Java操作不同的数据库需要写不同的代码,如MySQL和Oracle供应商提供不同的实现方法,对程序员很不友好,于是Sun公司提供了一套规范,所有接入Java的数据库必须使用这套规范,即JDBC,实现了对所有数据库的操作只需要使用同一套实现方法。
二.JDBC入门小案例
package com.rabbit.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class Demo {
public static void main(String[] args) throws Exception {
String cellphone = "1840001111";
//1.注册驱动
Class.forName("com.mysql.jdbc.Driver");
//2.获取数据库连接对象
Connection conn = DriverManager.getConnection("jdbc:mysql://172.16.0.120:7302/db1","admin","1234");
//3.获取执行sql语句的对象
String sql = "select * from user where phone = ?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1,cellphone);
//4.执行sql语句
ResultSet rs = ps.executeQuery();
if(rs.next() == true){
System.out.println("登录成功");
}else {System.out.println("手机号码不存在");}
//5.释放资源
rs.close();
ps.close();
conn.close();
}
}
三.步骤解读
0.导入jar包
jar包的下载和导入参照:jar包的下载和导入_兔兔那么好吃的博客-CSDN博客
1.注册驱动
注册驱动告诉程序要操作哪一个数据库,是MySQL还是Oracle
将com.mysql.jdbc.Driver.class文件加载到内存方法区中,形成字节码文件对象,执行静态代码块中的内容,此处使用的是反射原理
2.获取数据库连接对象
getConnection方法的3个参数:url、用户名、密码
其中url的格式:jdbc:mysql://数据库服务器地址:端口号/数据库名
3.获取执行sql语句的对象
使用PreparedStatement方法能够避免sql注入,因为采用的是预处理模式,里面使用占位符?
使用setString(n,String)方法对第n个 ? 进行替换
4.执行sql语句
执行sql语句的几个方法:
- int executeUpdate() 增删改使用,返回值是实际影响的行数
- ResultSet executeQuery() 查询使用,返回结果集
- boolean execute() 增删改查都可以使用,一般是底层使用
结果集ResultSet的几个方法:
- boolean next() 判断结果集里有没有数据
- int getInt(int i) 获取第i个字段的int数据
- int getInt(String name) 根据字段名name获取相应字段的int数据
- String getString(int i) 获取第i个字段的int数据
- String getString(String name) 根据字段名name获取相应字段的String数据
resultSet.getXXX可获取各个数据类型的数据,每个数据类型都有通过索引获取和通过名称获取两种方法
5.释放资源
数据库连接对象、执行sql语句的对象、结果集对象都需要释放