1.JDBC:java连接数据库
2.JDBC的实现步骤:
(1)导包(mysql驱动jar包)
打开IDEA-->左上角点击File-->找到Project Settings打开-->找到Libraries点开-->找到中间一列的加号点击-->
找到jar包所在的目录地址选择ok,最后应用确定.
(2)注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");//mysql8版本一前不带cj
//Driver:每个程序驱动类必须实现的接口
(3)获取数据库连接对象
//DriverManager:驱动管理程序的类,用于管理一组JDBC驱动程序的基本服务 //尝试建立与给定数据库URL的连接,DriverManager尝试从一组已注册的JDBC驱动程序中选择适当的驱动程序。 public static Connection getConnection(String url,String user,String password) //参数1:连接数据库的地址 //参数2:数据库的用户名 //参数3:数据库用户的密码
(4)准备sql语句
String sql = "增删查改语句" ;
(5)通过连接对象创建执行对象
Statement:创建一个Statement对象,用于将SQL语句发送到数据库 //创建一个Statement对象,用于将SQL语句发送到数据库 Statement createStatement()
(6)执行sql语句
//执行给定的SQL语句,这可能是INSERT,UPDATE,或DELETE语句,或者不返回任何内容,如SQLDDL语句的SQL语句 public int executeUpdate(String sql) //ResultSet:表示数据库结果集的数据表,通常通过执行查询数据库的语句生成,是一个接口 //执行给定的SQL语句,可以是查询语句,返回单个ResultSet对象。 public ResultSet executeQuery(String sql) //ResultSet的获取功能 //(1)通过列的索引获取内容 XXX getXXX(int columnindex)//XXX表示类型 //(2)通过列的标签名称获取字段名称 XXX getXXX(String columnLaber) //ResultSet的判断功能 //判断当前结果集的数据表是否存在下一行数据,有则返回true boolean next()
(7)释放资源
释放执行对象 释放连接对象
3.JDBC七大步骤设计解释说明
(1)导入数据库包
导入mysql的jar包,即mysql-connector-java-8.0.23.jar
(2)注册驱动
本身注册驱动在DriverManger类里面.使用的方法是
public static void registerDriver(Driver driver)
现在使用的注册驱动方法是:加载类--->执行源码的静态代码块注册驱动,即
Class.forName("com.mysql.cj.jdbc.Driver") ;//获取com.mysql.cj.jdbc.Driver的类字节码文件对象
源码:
class com.mysql.cj.jdbc.Driver implements java.sql.Drvier{
//静态代码块---本身就使用了DriverManger里面的注册驱动方法
static {
try {
//本身就在注册驱动,不需要在单独写了
java.sql.DriverManager.registerDriver(new Driver());
} catch (SQLException E) {
throw new RuntimeException("Can't register driver!");
}
}
}
(3)获取连接对象
public static Connection getConnection(String url, String user, String password)
(4)准备sql语句
(5)通过连接对象创建执行对象
Connection:与特定的数据库连接会话
Statement createStatement():创建执行对象,他可以将静态的sql语句发送到数据库
(6)执行sql语句,通过Statement接口的方法与ResulltSet接口的判断与获取方法
(7)释放资源,后使用的先释放.
4.preparedStatement接口执行对象:预编译,批量处理,效率比Statement高
(1)preparedStatement:**接口,继承Statement接口,表述预编译的sql语句对象
(2)获取预编译对象:Connection的成员方法
preparedStatement preparedStatement(String sql)
(3)PreparedStatement接口的部分功能
//预编译对象对内存存储的字段名称赋值 void setXXX(int preameterIndex , XXX x) //参数1:占位符的索引值,从1开始 //参数2:根据字段类型赋值



