JDBC :
即 java Database Connectivity ,java数据库连接,是一种是一种用于执行SQL语句的JavaAPI,它是 Java中的数据库连接规范。这个API由java.sql.*,javax.sql.*包中的一些类和接口组成,它为Java开发人员操作数据库提供了一个标准的API,可以为多种关系数据库提供统一访问。
主要步骤
1.创建数据库连接(两种方式)
- 直接使用DataSource 对象连接(主要使用)
DataSourceds=newMysqlDataSource();
((MysqlDataSource)ds).setUrl(URL);
((MysqlDataSource)ds).setUser(User);
((MysqlDataSource)ds).setPassword(Password);
Connectionconnection=ds.getConnection();
- 使用DriverManager 的静态方法连接
//加载驱动
Class.forName("com.mysql.jdbc.Driver");
//创建数据库连接
Connectionconnection=DriverManager.getConnection(URL);
两者差别:DriverManager获取的连接无法重复利用,使用完毕释放资源是物理关闭连接,而DataSource是支持连接池的,使得这些连接可以服用,同时关闭连接是对Connection对象的回收。
2、创建SQL操作命令(三种方式)
-
使用Statement对象
-
使用PreparedStatement对象(主要使用)
-
使用CallableStatement对象
使用PreparedStatement的优势:
- 执行速度更快(因为预编译)
- 更安全(因为它使用占位符进行参数化SQL查询命令,防止了字符串拼接命令的隐患)
3、执行SQL操作
- 查询操作,返回一个结果集变量 excuteQuery(),
- 更新,删除,添加,返回一个int值(更改的行数),excuteUpdate()
4、处理结果集
只有在查询操作有结果集需要处理,ResultSet 里面的数据按行排列,每个多个字段,并且有个记录行数的参数,指向的位置称为当前行,并且只能操作当前行。处理时,需要通过while循环和next()方法,和getXXX()方法获取每一行来处理。
5、释放资源
释放资源放在finally里保证每次都可以到达,并且为了避免代码冗余可以封装起来。