java jdbc 连接mysql数据库_JAVA jdbc连接Mysql数据库 | 夕辞

本文详细介绍了使用Java JDBC连接MySQL数据库的步骤,包括加载驱动、建立连接、执行SQL和关闭连接。通过示例代码展示了如何查询数据库并获取结果,是初学者学习数据库操作的良好教程。
摘要由CSDN通过智能技术生成

学习JAVA最初,我们就需要学习JAVA如何连接数据库,除去后面Mybatis、Hibernate等框架的封装,最初要学习的是最简单的JDBC连接Mysql数据库的方法,在这里详细说明下。

首先,贴一下完整的代码,然后再详细解释:

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

public class JdbcTest {

public static String URL = "jdbc:mysql://localhost:3306/work?autoReconnect=true&useUnicode=true&characterEncoding=utf-8";

public static String USERNAME = "work";

public static String PASSWORD = "work";

public static String DEMO_SQL = "select name from work where id = 1";

public static void main(String[] args) {

Connection connection = null;

Statement statement = null;

ResultSet resultSet = null;

try {

Class.forName("com.mysql.jdbc.Driver");

connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);

statement = connection.createStatement();

resultSet = statement.executeQuery(DEMO_SQL);

while (resultSet.next()) {

String name = resultSet.getString("name");

System.out.println(name);

}

} catch (Exception e) {

System.err.println(e);

} finally {

try {

if (null != resultSet) {

resultSet.close();

}

if (null != statement) {

statement.close();

}

if (null != connection) {

connection.close();

}

} catch (Exception e) {

System.err.println(e);

}

}

}

}

以上就是一个简单的连接Mysql数据库的例子。

然后贴一下本地Mysql相关信息:

用户名:work

密码:work

数据库实例:work

数据库表名:work(包含ID和NAME两个字段,只有一个ID=1的数据)

270149f116a1bb3b855511562a0ae8aa.png

1738c3a8b63a9b2cbb2440437ee92fe0.png

接下来我们讲解下,最上面是一些静态字符串的定义,下面就直接饮用,所以我们直接从main函数开始。

第一步:加载驱动类,因为我们连接的是Mysql数据库,所以要加载Mysql相关的驱动类:

Class.forName("com.mysql.jdbc.Driver");

在这里我们需要引用相关jar包的,如果是直接饮用jar包,可以下载mysql-connector-java-**.jar相关版本,这个网上都可以搜索得到。

如果是maven项目,可以通过增加以下xml引入:

mysql

mysql-connector-java

5.1.37

第二步:获取连接,在对数据库执行操作之前,需要获取对数据库的连接:

connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);

在这里有三个参数,url、user、password,user和password就不多说了,分别说要操作数据库的用户名和密码,下面对url讲解下。

例如上面的url:[jdbc:mysql://localhost:3306/work?autoReconnect=true&useUnicode=true&characterEncoding=utf-8],这个url包含多个信息。

[jdbc:]:就是Java Data Base Connectivity的意思;

[mysql:]:指我们连接的数据库类型,如果是oracle数据库,就是oracle了;

[//]:系统预留分隔符,代表后面就是连接的具体信息;

[localhost:]:数据库IP地址,因为我是本地,所以就是localhost或者127.0.0.1,可以为IP或者域名;

[3306]:数据库监听端口,一般默认mysql安装后是3306,也可通过修改my.cnf修改端口号;

[work]:数据库实例,一个用户下面可能有多个数据库实例,这里要填写你需要连接的数据库实例名;

[?]:默认分隔符,代表后面是对数据库的附加参数,比如以上例子代表自动连接,而且用unicode编码,编码方式为UTF-8

到这里如果信息填写正确且数据库正常,我们就拿到了数据库的连接了。

第三步:获取执行SQL语句对象,也就是Statement:

statement = connection.createStatement();

Statement的意思是:一个执行静态SQL语句然后返回执行结果的对象。

第四步:执行SQL,获取返回结果:

resultSet = statement.executeQuery(DEMO_SQL);

这里可能注意到了,我用的是executeQuery方法,返回的是ResultSet对象,其实不止这一个方法,还有execute()、executeUpdate()等方法。

除了executeQuery是需要查询数据之外,其他方法都是对数据库的更新,所以返回boolean或者int,boolean代表执行是否成功,int返回该条SQL在数据库中影响的行数。

因为我们要查询数据库中某个字段的值,所以我们用executeQuery,执行后我们就拿到我们的ResultSet对象了。

第五步:解析ResultSet数据,获取Name值:

resultSet = statement.executeQuery(DEMO_SQL);

while (resultSet.next()) {

String name = resultSet.getString("name");

System.out.println(name);

}

resultSet.next()代表遍历查询的结果,JAVA原本解释是将指针从当前的位置向后移动一行,也即是我们的遍历。

然后方法内我们可以调用result.getString(这了是列名)获取name的值,这是是列名name,我们也可以传入1,代表字段索引值。

假如我们查询了3个字段,那1、2、3分别代表我们查询的3个字段在当前行的结果。最后我们就打印出来name的值。

第六步:关闭相关对象连接。

JAVA对于最终必须执行的代码,最好放到finally代码块里,不管try里面的代码是否执行成功,都要释放资源或者做一些回收工作。

最后贴出我们的执行结果:

60eba3c79d4794b69dcda0bd12bf10db.png

以上就是一个简单的连接数据库并且查询数据的例子了,如果有其他不懂的,欢迎留言探讨。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值