/**
* JDBC( java DataBase Connection 数据库链接 ) 是一种用于执行SQL语句的java API.
* JDBC是java访问数据库的标准规范,可以为不同的关系库提供统一访问,由一组用java语言编写的接口和类组成
* JDBC规范四个核心对象:
* DriverManager -->用于注册驱动
* Connection -->获取数据库链接对象
* Statement -->操作数据库sql语句对象
* ResultSet -->返回结果集
*/
* 需要使用数据库链接相关的jar
* mysql-connector-java-5.1.37-bin.jar
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCUtils {
// 定义数据库四大基本信息
private static String driver = "com.mysql.jdbc.Driver";
private static String url = "jdbc:mysql://127.0.0.1:3306/day_04";
private static String username = "root";
private static String password = "root";
private static Connection conn;
// 定义一个静态块,在调用JDBCUtils类是初始化,获取数据库链接
static {
try {
/*
* java.sql.DriverManager是用来管理数据库驱动程序的 static void
* registerDriver(Driver driver) 向 DriverManager 注册给定驱动程序。
* 工具源码里面有一个static驱动,当调用driver类时已经调用了,所以这里不需要再次调用,我们可以使用反射技术
* DriverManager.registerDriver(new Driver());
*/
Class.forName(driver);
// 获取数据库链接对象
conn = DriverManager.getConnection(url, username, password);
} catch (Exception e) {
// 把编译异常转变为运行时异常
throw new RuntimeException("数据库链接失败");
}
}
//返回数据库链接对象
public static Connection getConnection() {
return conn;
}
//静态关闭流对象
public static void close(ResultSet rs, Statement stat, Connection conn) {
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
stat.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
public class DemoJDBCUtils {
public static void main(String[] args) {
//定义局部变量
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
try {
//获取数据库链接对象
connection = JDBCUtils.getConnection();
//获取数据执行方法
statement = connection.createStatement();
String sql = "select * from 表名";
//请求数据sql返回结果集
resultSet = statement.executeQuery(sql);
//next是否有下一个
while(resultSet.next()){
System.out.println(resultSet.getString("cid")+"\t"+resultSet.getString("cname"));
}
} catch (Exception e) {
System.out.println(e);
}finally {
//关闭流对象
JDBCUtils.close(resultSet, statement, connection);
}
}
}