Java通过JDBC连接数据库详解
Posted 一只特立独行的猫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java通过JDBC连接数据库详解相关的知识,希望对你有一定的参考价值。
介绍
Java目前主要是用于网络编程,作为server方负责为客户或者浏览器提供服务,这不可避免需要连接数据库。
Java对数据库的连接过程如下图所示:
上图就是Java连接数据库的简要过程,接下来逐步分析。
JDBC(Java DataBase Connectivity)
在应用程序与数据库连接需要驱动程序协调,但是由于数据库不同导致需要的驱动程序不同。如果手工配置驱动程序,那么会显得十分麻烦,所以Java提供了JDBC,里面提供了大部分数据库的驱动程序。当应用程序需要调用数据库时,只需要加载JDBC就可以实现和数据库的连接,而不需关心加载哪个驱动。
JDBC可以在Java的官网进行下载:
https://dev.mysql.com/downloads/connector/j/.
下载完成后,将JDBC压缩包放到源程序的外部库文件夹下
然后就可以开始使用Java连接数据库。
连接流程
在JDBC放置后,就可以开始使用Java来连接数据库了。演示的数据库的内容如下,下面代码的作用是打印name列的所有名字:
加载驱动
启动驱动程序,这是连接数据库的基础。
// 第一步:加载驱动
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
建立连接
通过自己设立的数据库用户名和密码连接数据库,需要提供URL,格式如下:
jdbc://主机IP:端口号/数据库名字?参数1&参数2&。。。
一定要加上serverTimezone=UTC,表示采用中国时间,否则采用默认时区(不是中国时区),会出现很多奇怪的错误。
String uri = "jdbc:mysql://localhost:3306/database1?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC";
//数据库用户名
String user = "root";
//数据库用户密码
String password = "12345678";
try {
//采用JDBC的静态类来实现连接数据库,con表示连接通道
con = DriverManager.getConnection(uri,user,password);
} catch (SQLException throwable) {
throwable.printStackTrace();
}
建立statement对象
在con连接中创建一个statement实例,来实现利用con对数据库的查询
try {
//在con连接中创建一个statement实例,sql用来执行SQL语句
sql = con.createStatement();
} catch (SQLException throwable) {
throwable.printStackTrace();
}
修改数据
采用sql执行SQL语句进行管理数据库。
//定义SQL语句
String sqll = "SELECT * FROM employee";
try {
//执行SQL语句
ResultSet rs = sql.executeQuery(sqll);
//rs标记当前行,这里时遍历employee表的name列的意思
while(rs.next()){
String name = rs.getString("name");
System.out.println(name);
}
} catch (SQLException throwable) {
throwable.printStackTrace();
}
关闭连接对象
若操作完成后不关闭连接,在服务器连接滞留上可能会占用CPU的资源
try {
con.close();
} catch (SQLException throwable) {
throwable.printStackTrace();
}
总结
Java连接数据库可以归纳为三个步骤:
1.加载驱动
2.创建数据库连接类con
3.采用连接类con的statement类对数据库进行操作
然后就进行操作,操作完成关闭连接就大功告成。
以上是关于Java通过JDBC连接数据库详解的主要内容,如果未能解决你的问题,请参考以下文章