JDBC
一、相关概念:
1、JDBC,Java Database Connectivity(Java数据库连接),是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。
2、由一组用Java语言编写的类和接口组成。
3、它是一个规范而不是实现,我们通常说的JDBC是面向关系型数据库的。
4、以MySQL数据库为例,只需将下载的MySQL JDBC驱动程序mysql-connector-java-5.1.6-bin.jar置于Web服务器的lib文件夹中即可,当然也可以在开发环境中导入JAR包,然后随Web应用一起发布至服务器。
二、JDBC核心类(接口)
JDBC中的核心类有:DriverManager,Connection,Statement,ResultSet
1、DriverManager:负责加载不同的驱动程序(Driver)
注册驱动:
Class.forName("com.mysql.jdbc.Driver");
2、Connection:数据库连接
//127.0.0.1本机数据库服务器IP,3306数据库服务默认端口
String url = "jdbc:mysql://127.0.0.1:3306/数据库名称?characterEncoding=utf8&useSSL=true";
//数据库用户名
String user = "用户名";
//密码
String password = "密码";
Connection connection=DriverManager.getConnection(url,user,password);
3、Statement:用以执行SQL查询和更新(针对静态SQL语句和单次执行)。向数据库发送sql语句,一般是PreparedStatement
PreparedStatement:(一条带参数的)用以执行包含动态参数的SQL查询和更新,(在服务器端编译,允许重复执行以提高效率)。
/*creatStatement();创建一个Statement对象,用于发送SQL语句给数据库服务器,该方法可带不同参数以便指定结果集的类型,并发控制方式以及保护性等。
*/
Statement statement = connection.createStatement();
4、ResultSet:查询结果集
5、close:(关闭数据库连接,释放资源)先创建的后关闭,后创建的先关闭
//关闭顺序不能乱写
public static void close(Connection connection, PreparedStatement statement, ResultSet resultSet) {
try {
if (resultSet != null) {
resultSet.close();
}
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
DBUtil
一、相关概念:
DBUtil是Apache提供的一个开源的JDBC工具类库,是java编程中数据库操作实用工具,小巧简单。DBUtil封装了对JDBC的操作,简化了JDBC操作,可以让我们少些代码。
二、三个核心对象:
1、QueryRunner中提供对sql语句的操作,主要有三个方法:
query()用于执行select操作;
update()用于执行更新操作(insert、update、delete)
batch()批处理
2、ResultSetHandler接口定义了执行select操作后如何封装结果集
3、DBUtil类是一个工具类,定义了关闭资源和事务处理的方法
JDBC的一些编程步骤以及更详细的介绍,也可以看看这个大佬写的https://blog.csdn.net/jungle_rao/article/details/81274720