介绍
JDBC(Java Database Connecvtivity)即Java的数据库连接,具体来说是Java中使用API去操作数据库、对数据库本身和内含数据进行各类操作。在实际项目应用中,数据库中的数据要被某一某块或者功能需要时,就要在项目中应用,这时使用JDBC技术提取并操作这些数据就显得尤为方便。
一、JDBC是什么?
根本上说JDBC是一种规范,它提供的接口,一套完整的,允许便捷式访问底层数据库。简单说它就是JAVA与数据库的连接的桥梁或者插件,使用JAVA代码就能操作数据库。
1.以上提到了JDBC是一种规范,所谓规范就是完成或者衡量的标准,在Java中的规范,其实就是“接口”,正是有了接口的存在才会约束程序的规则。Java的接口一旦用一个类实现了这个接口,那就要实现其所有的方法。这样就形成了某种的制约。
2. 数据库有很多种,MySQL、SQL Server、Oracle等。这些数据库由不同的厂商实现。Java是一种跨平台的语言,它提供了JDBC的接口API,而不同的数据库厂商去根据各自产品去实现这个接口。各个厂商根据各自产品去实现各自的驱动。
二、JDBC技术的使用
1.加载驱动
1.1 如果采用Maven的项目直接在项目的.pom文件中写如下依赖即可
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.27</version>
</dependency>
</dependencies>
1.2.1-首先进入MySQL官网,进入downloads
1.2.2-选择页面最下方 MySQL Community(GPL) Downloads
1.2.3-选择Connector/J
1.2.4-选择plantform independent,windows平台下载Zip包
1.2.5- IDEA中添加配置资源
依次点击File->Project Structure->Modules,然后选择Dependencies点击右边小+号选择JAR然后选择jdbc的jar包路径,然后确定配置完成。
1.3 初始化问题:
在使用JDBC时要加载驱动,这时就要一开始就进行加载数据库的驱动,而且是第一个要执行的。所以解决这一问题,可以采用静态块来解决,那怎么加载驱动呢?这时要采用类加载的方法,将驱动加载到当前Java程序中。
1.4 代码如下
static {
try {
Class.forName("com.mysql.jdbc.Driver");
//通过Java的反射机制,可以加载数据库驱动类,将其实例化。
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
2.获取连接对象
在加载数据库驱动后,我们要取得与数据库的连接,这时java.sql包下提供了Connection接口。
String URL = "jdbc:mysql://localhost:3306/数据库名称";
//注意url的写法是固定的 jdbc:mysql://地址:3306/要连接的数据库名称
String USER = "用户名";
String PASSWORD = "密码";
//要抛出SQLException的异常,可以选择声明或者try...catch处理
Connection connection = DriverManager.getConnection(URL,USER,PASSWORD);
3.获取操作对象
要完成对数据库的操作少不了真正执行操作的对象,这里可以选择两种Statement和PreparedStatement两种,前者是标准的操作对象后者是预编译的操作对象,二者区别在于后者的访问速度快(有预处理的过程),细节下一篇文章仔细探究。
Statement statement = connection.createStatement();
//用于执行静态 SQL 语句并返回它所生成结果的对象。由 createStatement 创建,用于发送简单的 SQL 语句(不支持动态绑定)。
PreparedStatement preparedStatement = connection.prepareStatement("SQL语句");
4.关闭资源
因为不释放资源的话,那么那些闲置的对象会一直占用系统资源,会影响性能。所以要讲涉及到的所有对象进行资源的关闭。通过 对象.close()方法进行资源的关闭。
connection.close();
statement.close();
preparedStatement.close();
//如果前面创建各种实例时用到了try...catch异常处理,建议将资源关闭写在Finally里面。
5.全部代码
public class test01 {
static{
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws SQLException {
String URL="jdbc:mysql://localhost:3306/数据库名称";
String USER="用户名";
String PASSWORD="密码";
Connection connection= DriverManager.getConnection(URL,USER,PASSWORD);
Statement statement = connection.createStatement();
PreparedStatement preparedStatement = connection.prepareStatement("SQL语句");
connection.close();
statement.close();
preparedStatement.close();
}
}
三、总结
这里只是对JDBC的简单介绍和了解JDBC技术的使用过程,下一篇博客给大家带来JDBC的实例使用,对数据库数据的增、删、改、查等。后续也会详细剖析JDBC的原理内容以及项目的实现。大家感兴趣就关注我吧!