JDBC:Hello JDBC

JDBC (Java Data Base Connection):是通过Java访问数据库

为项目导入mysql-jdbc的jar包

  • 使用j2se项目
  • 放在j2se\lib目录下
  • Build Path

初始化驱动

  • Class.forName("com.mysql.jdbc.Driver");
  • Class.forName是把这个类加载到JVM中,加载的时候,就会执行其中的静态初始化块,完成驱动的初始化
package jdbc;

public class TestJDBC {

    public static void main(String[] args) {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            System.out.println("数据库驱动加载成功 !");
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

建立与数据库的连接

Connection c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8", "root", "admin");

创建Statement

  • Statement是用于执行SQL语句的,比如增加,删除
Statement s = c.createStatement();

执行SQL语句

  • 准备SQL语句,字符串要用单引号'
  • hero表必须存在

关闭连接

  • 数据库的连接是有限资源,操作结束后养成关闭数据库连接的好习惯
  • 先关闭Statement,后关闭Connection

使用try-with-resource的方式自动关闭连接

  • Connection和Statement都实现了AutoCloseable接口

练习-一次性插入100条数据

public static void main(String[] args) {
        
        // demo1();
        // 加载数据库驱动
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
        //建立连接
        try (
            Connection c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8", "root", "admin");
            Statement s = c.createStatement();
        ) 
        {
            for (int i = 0; i < 100; i++) { 
                String sql = "insert into hero values(null, "+"'英雄"+i+"'"+","+313.0f+","+50+")";
                s.execute(sql);
            }
        }
        catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

你可能感兴趣的:(JDBC:Hello JDBC)