JDBC开发
jie
2020-08-25
JDBC JDBC入门 什么是JDBC JDBC的原理 JDBC完成增、删、改、查 JDBC之代码规范化 结果集光标与元数据 结果集的特性(是否可滚动、否敏感、否可更新) PreparedStatement的用法 预处理的原理 mysq的预编译功能默认是关闭的 dbcUtils1 .0小工具 向接口编程 修改day14的登录注册案例,其中dao层为jdbc util包下的Date与sq包下的时间类型之间的转换 大数据 批处理 Java Dadabase Connectivity, Java数据库连接, JDBC是用Java语言向数据库发送 SQL语句 使用 1.导jar包: 驱动 2.加载驱动类(注册驱动) : Class.forName("类名"); 3.给出url, username, password, 其中url格式是规定的 4.使用DriverManager类得到Connection对象 四大配置参数 driverClassname com.mysql.jdbc.Driver url jdbc:mysql://localhost:3306/mydbname username passeord com.mysql.cj.jdbc.Driver 新的驱动类, 会自动加载驱动 JDK8.0后需要追加 "?serverTimezone=UTC" 可能的异常 SQLException SQLTimeoutException 检查user, password, url是否正确 连接时间超过setLoginTimeout()方法设置得时间 ClassNotFoundExection 检查加载驱动类的类名 检查是否开启了mysql服务器 例 : SUN提供一套访问数据库的规范(一组接口, 命名为JDBC), 并提供数据库的协议标 准, 各大数据库厂商根据SUN提供的规范开发能访问自己数据库服务器的API(称之 为驱动) 应用程序 JDBC MySQL驱动 Oracle驱动 MySQL Oracle 任何数据库驱动类都会实现java.sql.Driver接口, 都提供static代码块, 块内代码就是 把自己注册到DriverManager中 准备四大参数 增、删、改、查 导入jar包 : 驱动 加载驱动类 : Class.forName("类名") ; 定义 DB_URL, DB_USER, DB_PASS 使用DriverManager类来得到Connection对象 Connection con = DriverManager.getConnection(DB_URL, DB_USER, DB_PASS); 例 : Class.forName("com.mysql.cj.jdbc.Driver") ; 可能的异常 : ClassNotFoundException 没导jar包 SQLException 检查 DB_URL, DB_USER, DB_PASS是否正确 是否开启了MySQL服务器 MySQL 8.0 以下版本 MySQL 8.0 以后 URL = "jdbc:mysql://localhost:3306/数据库名"; URL = "jdbc:mysql://localhost:3306/数据库名? useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC" ; Connection对象创建Statement, 通过Statement语句的发送器, 向数据库发送sql 语句 调用它的int executeUpdate(String sql) , 可以发送DML, DDL语句 jdbc4.0之后, 每个驱动jar包, 在META-INF/services目录下提供了一个名为 java.sql.Driver的文件,文件的内容就是该接口的实现类名称 1."?"后面是一堆参数 oracle jdbc:oracle:thin:@localhost:1521:mydbname MySQL MySQL Oracle oracle.jdbc.driver.OracleDriver