使用JDBC连接数据库MySQL
JDBC
是访问数据库的规范、接口。类似苹果手机和安卓手机充电口可能不一样。
Java不能直接操作数据库,通过JDBC的实现--jdbc驱动操作。
这个驱动也就是jar包(有很多已经实现的类),需要导入到Java环境中。
static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost:3306/自己的数据库名?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
连接
JDBC操作数据库步骤:
1.导jar包:驱动
2.加载驱动类:Class.forName(“类名”);
3.给出url、username、password
4.使用DriverManager类来得到Connection对象
import java.sql.*;
public class JDBCUtil {
private static final String JDBC_DriverManager="com.mysql.cj.jdbc.Driver";
private static final String DB_url ="jdbc:mysql://localhost:3306/search_demo?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
private static final String user ="root";
private static String password ="123456";
//构造方法私有化,防止外部进行new对象操作
private JDBCUtil(){
}
//注册驱动 静态代码块 反射加载驱动和数据库连接方式
//静态代码块可以在类创建之前加载
static {
try {
Class.forName(JDBC_DriverManager);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
//获取连接
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(DB_url,user,password);
}
//释放资源
public static void free(Connection con, Statement st, ResultSet rs){
if(rs!=null){
try {
rs.close();
}catch (SQLException e){
e.printStackTrace();
}
}
if(st!=null){
try {
st.close();
}catch (SQLException e){
e.printStackTrace();
}
}
if(con!=null){
try {
con.close();
}catch (SQLException e){
e.printStackTrace();
}
}
}
测试
import java.sql.*;
public class Base {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
test();
}
static void test() throws SQLException, ClassNotFoundException {
//1.注册驱动
//DriverManager.registerDriver(new com.mysql.jdbc.Driver());
Class.forName("com.mysql.cj.jdbc.Driver");
//2.建立连接
Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/search_demo", "root", "123456");
//创建sql
String sql = "select * from account";
//执行语句
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(sql);
//处理结果
while (rs.next()){
System.out.println(rs.getObject(1)+"\t"+rs.getObject(2)+"\t"+rs.getObject(3)+
"\t");
}
//资源释放
rs.close();
st.close();
con.close();
}
}
控制台输出:
数据库表:
MySQL 文章被收录于专栏
Navicat Premium 15 Server version: 8.0.29 MySQL Community Server - GPL
海康威视公司福利 1134人发布