什么是JDBC
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC使用流程
JDBC的使用大体分6步
一.导入包
1.使用IntelliJ IDEA 在创建好的Project中新建一个Directory可命名为lib,将JDBC的war包放入文件夹内.
2.选中war包鼠标右键在菜单中选择 Add as Library…
在弹出的对话框中点击OK.
二.注册驱动
// 注册驱动
// Class<?> aClass =
// 这句代码,会得到
// com.mysql.jdbc.Drive类的一个类对象
// 那么会先将这个类加载进内存
// 当这个类加载进内存后,
// 该类的静态代码块就会跟着执行
// 在静态代码块中,就已经有了注册驱动的代码
Class.forName("com.mysql.jdbc.Driver");
// 下面这行代码有重复性的操作,所以推荐使用上面这行代码
DriverManager.registerDriver(new Driver());
三.建立与数据库连接,获取连接对象
// 建立与数据库连接,获取连接对象
// Connection 对象的数据库能够提供描述其表、所支持的 SQL 语法、存储过程、此连接功能等等的信息。
// 下面一行是方式一:
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbc","root","123");
// 下面一行是方式二:
// 问号连接的是参数
// user是参数名,root是参数值
// &与,在参数与参数之间起到连接作用
// password是参数名,123是参数值
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbc?user=root&password=123");
// 下面一行是方式三:
// 创建一个Properties对象
// 用来存储参数,用户名密码
Properties properties =new Properties();
// 以key-value的方式存储
properties.setProperty("user","root");
properties.setProperty("password","123");
//获得连接数据库的对象
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbc", properties);
四.根据连接对象,获得statement对象或preparedStatement对象
// 根据连接对象,获得statement对象,不推荐
Statement statement = conn.createStatement();
五.由statement对象,执行sql语句
// 由statement对象,执行sql语句
statement.execute("CREATE TABLE stu(id INT PRIMARY KEY ,name VARCHAR(50),age INT )");
// 以下代码可替换第四步和第五步
// PrepareStatement:
// 1,可以防止SQL注入
// 2,采取预编译的方式,将sql语句先交给数据库编译好
// 只需要等待执行就可以了,
// 当多个重复语句被执行时效率会比Statement高,速度快
// ?就是一个占位符
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO stu VALUES (null,?,?)");
// 第一个参数是?的位置
// 与values后面括号中是否有null,是否有具体的值无关
// 在sql语句中有几个问号,那么就需要向sql中传递几个参数
// 第几个问号,那么下面方法中的第一个参数就填几
pstmt.setString(1,"张三");
pstmt.setInt(2,40);
pstmt.executeUpdate();
六.关闭资源
//关闭所有资源
conn.close;
pstmt.close;
properties.close;