首先在我们进行连接数据库时,需要知道jdbc的几个步骤:
1.加载驱动(使用反射)
2.连接数据库(数据库的地址,用户名,密码)
3.sql(对数据库进行什么操作)
4.预处理
5.获取结果集
6.处理结果集
7.依次关闭所有结果集
接下来我将实现jdbc连接数据库实现用户登入
第一步:创建用户表,SQL代码如下:
//创建用户表
create table Users(
id number primary key,
uname varchar(30),
upwd number
)
//查询用户表
select * from Users;
//添加数据
insert into Users values(1001,'小明',1234);
insert into Users values(1002,'小红',123456);
第二步:在eclipse中创建连接,遵循jdbc的步骤,java代码如下:
package com.sxt.user;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class A {
public static void main(String[] args) throws Exception {
//调用用户登入方法
login("小红","123456");
}
//用户登入方法
public static void login(String uname,String upwd) throws Exception {
//用户登入需要判断输入的用户名和密码与数据库中的用户名和密码是否相同
//1.加载驱动(选择哪一个数据库url),使用反射中的Class.forName()(获取oracle类的功能)
Class.forName("oracle.jdbc.OracleDriver");
//2.获取连接(与数据库连接上),Connection,使用DriverManager中的getConnection获取数据库地址,用户名和密码
Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "SCOTT", "TIGER");
//3.sql
String sql="select uname from Users where uname=? and upwd=?";
//4.预处理块
PreparedStatement state=conn.prepareStatement(sql);
//为?赋值
state.setString(1, uname);//输入的用户名
state.setString(2, upwd);//输入的密码
//5.获取结果集
ResultSet res=state.executeQuery();
//6.判断结果集
if(res.next()) {
System.out.println(uname+"登入成功!");
}else {
System.out.println(uname+"登入失败!");
}
//7.关闭结果集
res.close();
state.close();
conn.close();
}
}