【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】
**开源地址:https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB **
==========================================================================
示例代码:https://gitee.com/szluyu99/mj_java/blob/master/04_JDBC/src/com/mj/Main.java
-
将 Driver(驱动程序)注册到 DriverManager(驱动程序管理者)
-
利用 DriverManager 创建 Connection(数据库连接)
-
利用 Connection 创建 Statement(语句)
-
利用 Statement 执行 SQL 语句
-
关闭资源(关闭 Statement,Connection 等)
MySQL 的 url 格式:
jdbc:mysql://IP地址:端口号/数据库名
示例:
jdbc:myqsl://localhost:3306/xmg
从 JDBC 4.0 开始,显式注册驱动程序是可选的
- 只需要将供应商的 Jar 放在类路径中,然后 DriverManager 就可以自动检测并加载驱动程序
JDBC 版本:
-
JDBC 4.0 包含在 Java SE 6 中
-
JDBC 4.1 包含在 Java SE 7 中
-
JDBC 4.2 包含在 Java SE 8 中
-
JDBC 4.3 包含在 Java SE 9 中
ResultSet executeQuery(String sql)
:执行 DQL 语句
int executeUpdate(String sql)
:执行 DML、DDL 语句
- 如果是 DML 语句,返回值代表影响的记录数量
如果数据库没有任何返回值,通常返回 0
boolean next()
:让游标指向下一行
- 如果指向的这行有数据,就返回 true
否则,返回 false
XX getXX(int columnIndex)
、XX getXX(String columnLabel)
-
获取当前行(游标指向的那行)某一列的数据
-
columnIndex 的数值从 1 开始
PreparedStatement 接口继承自 Statement 接口
建议使用 PreparedStatement 替代 Statement
Preparedstatement 的优点:
-
可以防止 SQL 注入
-
执行速度比 Statement 快
-
支持批量处理
一些经常动态修改的值,建议放入到配置文件中,不要写死在 Java 代码中
-
因为 .java 编译后变成 .class,无法直接修改其内容
-
已部署的项目想要修改配置信息,则需要修改 Java 代码再重新部署
Java 中常用的配置文件:
-
properties:比较单一,适合量小、简单的配置
-
xml:比较灵活,适合量大、复杂的配置
properties 文件:
-
key,value 的分隔符是
=
或:
-
建议分隔符左右不要留空格
-
#
、!
开头是单行注释 -
可以用反斜线
\
连接多行内容
数据库连接池,可以提高访问数据库的性能,负责创建、分配、管理和释放数据库连接
基本思想:
-
在初始化时,创建一定数量的数据库连接对象存储在内存中
-
当需要访问数据库时,并非建立一个新的连接,而是从连接池中取出一个已创建的空闲连接对象
-
使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用
-
当连接的空闲时间已超过最大空闲时间时,将会释放掉该连接
-
可以通过设置参数来控制初始连接数、连接的上下限数以及每个连接的最大使用次数、最大空闲时间
-
可以通过其自身的管理机制来监视数据库连接的数量、使用情况
Java 中常见的开源的数据库连接池:
- C3P0,Proxool,DBCP,BoneCP,Druid 等
Druid 产自阿里巴巴,项目地址:https://github.com/alibaba/druid/
jar 包下载:https://mvnrepository.com/artifact/com.alibaba/druid
==============================================================================
示例代码:https://gitee.com/szluyu99/mj_java/tree/master/06_crm_Spring-JDBC
Spring JDBC 框架可以帮助开发者节省大量开发工作,自动去处理一些低级细节,比如
- 异常处理、打开和关闭资源(Connection、Statement,ResultSet)
需要的 jar 包:
-
spring-jdbc
-
spring-beans
-
spring-core
-
spring-tx
-
spring-jcl
Spring JDBC 核心类:JdbcTemplate
构造方法:
public JdbcTemplate(DataSource datasource)
执行 DDL、DML 语句:
int update(String sql, Object… args)