JDBC
概念
- Java DataBase Connectivity,简称JDBC
- JDBC:sun公司定义的一套操作数据库的规范,就是接口
- 驱动:
四个核心的对象
- DriverManager:依据数据库的不同,管理JDBC驱动
- Connection: 负责连接数据库并担任传送数据的任务
- Statement: 由 Connection 产生、负责执行SQL语句
- ResultSet:负责保存Statement执行后所产生的查询结果
使用
首先需要将驱动导到 lib 包里面,需右击点击Add to Build Path
数据库先有个表
将注册驱动和连接数据库定义为方法
package com.lzb.utils;
import java.sql.*;
import static java.lang.Class.forName;
/*
jdbc 工具类
1 构造方法私有化
*/
public class JDBCUtils {
private static String driver = "com.mysql.jdbc.Driver";
private static String url = "jdbc:mysql://localhost:3306/limouren";
private static String username = "root";
private static String mm = "lzb40921";
private JDBCUtils(){}
//注册驱动
static {
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
//获取数据库连接
public static Connection getConnection(){
try {
Connection connection = DriverManager.getConnection(url, username, mm);
return connection;
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
// 释放资源
public static void relase(Connection connection, Statement statement, ResultSet resultSet){
if (resultSet != null){
try {
resultSet.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
if (statement != null){
try {
statement.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
if (connection != null){
try {
connection.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
}
定义sql
String sql = "select id,username,mm,name,sjh,email from user where username=? and mm=?";
获取执行sql语句的对象(Statement)
statement = connection.prepareStatement(sql);
statement.setString(1,uname);
statement.setString(2,umm);
执行sql,接收返回结果
resultSet = statement.executeQuery();
处理结果
if (resultSet.next()){
System.out.println("登陆成功,欢迎" + resultSet.getString(4) + "回来");
}else {
System.out.println("用户名错误");
}
释放资源
调用前面写好的方法
JDBCUtils.relase(connection,statement,resultSet);