使用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