目录
JDBC概念
JDBC入门
1. 导入数据库的驱动jar包
2. 加载驱动jar包
3. 获取连接对象
4. 获取操作对象
5.执行SQL语句
6.释放资源
IDEA连接数据库
结果集对象
登录练习
JDBC概念
Java DataBase Connectivity 即 Java数据库连接
JDBC,其实就是Java定义的一套和数据库建立连接的规范(接口),那么各家数据库厂商,想要
Java去操作各家的数据库,必须实现这套接口,我们把数据库厂商写的这套实现类,称之为数据库
驱动。
JDBC入门
1. 导入数据库的驱动jar包
2. 加载驱动jar包
Class.forName("com.mysql.jdbc.Driver");
//可省略不写反射创建对象,因为Driver中有个静态代码块
static {
try {
DriverManager.registerDriver(new Driver());
} catch (SQLException var1) {
throw new RuntimeException("Can't register driver!");
}
}
3. 获取连接对象
String url="jdbc:mysql://localhost:3306/mydb";
String username="root";
String password="123456";Connection con = DriverManager.getConnection(url, username, password);
4. 获取操作对象
Statement statement = conn.createStatement();
5.执行SQL语句
String sql="insert into users values('wangwu','123456')";
int i = statement.executeUpdate(sql); //返回值是影响的行数
6.释放资源
conn.close();
statement.close();
IDEA连接数据库
结果集对象
执行查询语句后返回的一个对象
ResultSet 对象具有指向其当前数据行的光标。 最初,光标被置于第一行之前。next 方法将光标移
动到下一行;因为该方法在 ResultSet 对象没有下一行时返回 false,所以可以在 while循环中使用
它来迭代结果集。
但是,这样取得的数据都是零碎的,我们应该把他封装到一个对象中,再把多个对象存到一个集合中
package org.xingyun.bean;
public class Bank {
private int id;
private String username;
private int money;
public Bank(){
}
public Bank(int id, String username, int money) {
this.id = id;
this.username = username;
this.money = money;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public int getMoney() {
return money;
}
public void setMoney(int money) {
this.money = money;
}
@Override
public String toString() {
return "Bank{" +
"id=" + id +
", username='" + username + '\'' +
", money=" + money +
'}';
}
}
登录练习
在数据库中查找用户名和密码,看是否存在,找到则登陆成功,否则失败。
先对密码123456进行加密:
登录逻辑:
package org.xingyun.demo;
import java.sql.*;
import java.util.Scanner;
public class demo2 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Scanner sc = new Scanner(System.in);
String uname=sc.next().trim();
String pwd = sc.next().trim();
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/lianxi";
String username = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, username, password);
Statement statement = conn.createStatement();
String sql="select * from user where username='"+uname+"' and password=MD5('"+pwd+"')";
ResultSet resultSet = statement.executeQuery(sql);
if(resultSet.next()) {
System.out.println("登录成功");
}else {
System.out.println("登录失败");
}
conn.close();
statement.close();
resultSet.close();
}
}
在控制台输入数据,查看结果。