首页 / IDEA / jdbc 连接 idea项目
jdbc 连接 idea项目
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了jdbc 连接 idea项目,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含6338字,纯文字阅读大概需要10分钟。
内容图文
![jdbc 连接 idea项目](/upload/InfoBanner/zyjiaocheng/1044/c3f8b106db934953bf01f4112ab5d058.jpg)
昨天搞了一天看不懂还弄错了,在刚学jdbc的时候可能很多人搞不懂什么意思,在这里分享一下;
首先,给 idea 配置 mysql 数据库和用 jdbc 连接 idea 项目意思是不一样的,前者是使能够在 idea 上直接编写 mysql,不用在通过 cmd 命令窗口的方式,后者才是学习 jdbc 需要用到的,昨天就是因为这个搞了好久;
jdbc 连接 idea 项目:
首先你需要下载 mysql,弄好了之后需要再下载一个 mysql 驱动包,这里需要注意的是,你所下载的驱动包最好是和你的 mysql 版本是同一个版本,否则可能会导致不兼容的问题,这里提供 8.0.23 版本mysql驱动包的下载网址:
https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-8.0.23.zip
在下载完之后解压到一个目录下,可以和 idea 一个目录,也可以和 mysql 一个目录,关键是要你自己能找到;
然后点进去找到一个叫 mysql-connector-java-8.0.23.jar 的压缩文件,把它复制下来;
接下来在你所要连接的 java 项目中创建一个命名为 “lib” 的文件夹,然后把 jar 文件粘贴进去:
这里解释一下为什么要下载这个驱动包,数据库有很多种,例如 mysql 或者 oracle,我们要在项目中使用数据库那么就需要有各种各样的类和方法,但对于不同的数据库来说使用它们的方法是不一样的,java 不可能包括所有类型数据库的实现方法,所以这些方法是有数据库方提供的,下载之后才能使用这些方法来操作数据库,而驱动包就是这些方法的一个封装;
接下来就是测试了,首先你需要在 mysql 数据库中创建一个表,不用太复杂,只是用来测试的,同时我会在测试代码中进行解释:
package com.study.practice;
import java.sql.*;
//导入所有jdbc的工具包;
public class FirstExample
{
static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
//这里是你的jdbc.Driver,也就是jdbc管理器;
static final String DB_URL = "jdbc:mysql://localhost/test";
//这里是你的服务器以及接下来要操作的数据库地址,localhost表示本地服务器,test是我创建的数据库;
static final String USER = "root";
static final String PASSWORD = "**********";
//这里是你Mysql的用户名和密码;
public static void main (String[] args)
{
Connection conn = null;
//Connection是一个接口,此接口具有连接数据库的所有方法,Connection接口jdbc工具包中会有不同的实现
//使用jdbc连接数据库需要用到这些方法,所以在这里先声明一个Connection对象;
Statement stmt = null;
//Statement也是一个接口,此接口具有将SQL语句提交到数据库的功能,该接口在jdbc工具包中同样会有不同的实现
//要在jdbc中执行SQL语句需要用到这些实现,所以在这里先声明一个Statement对象;
try
{
Class.forName("com.mysql.cj.jdbc.Driver");
//Class.forname的作用是要求JVM查找并加载指定的类,这里的Driver就是最终被加载的类
//Driver类也是一个接口,我们通常叫它驱动器,该接口的功能是直接与数据库服务器通信,其
//中有一个静态代码块,静态代码块中调用了DriverManger.registerDriver()来注册自己
System.out.println("Connecting to database...");
//这里是一个提示,让操作者明白驱动器有没有被加载成功,后面的输出语句也是一样的;
conn = DriverManager.getConnection(DB_URL,USER,PASSWORD);
//数据库被加载后这里进行登录,返回一个对数据库的连接;
System.out.println("Creating statement...");
stmt = conn.createStatement();
//该方法执行创建一个Statement对象;
String sql;
sql = "SELECT * from student";
//通过字符串来编写sql语句;
ResultSet rs = stmt.executeQuery(sql);
//该方法用于执行SQL语句;
//ResultSet是一个SQL语句执行的结果集,它也是一个接口,该接口提供了从行中获取对应列的方法
while (rs.next())
{
//以下为利用循环将结果集中的数据全部输出出来
int id = rs.getInt("id");
String name = rs.getString("name");
String sex = rs.getString("sex");
float score = rs.getInt("score");
System.out.print("ID: " + id);
System.out.print(",Name: " + name);
System.out.print(",Sex " + sex);
System.out.print(",Score " + score);
}
//在执行完毕后必须将连接数据库过程中所占空间释放,而不是等待JVM自动回收;
rs.close();
stmt.close();
conn.close();
}
catch (SQLException se)
//SQLException表示数据库内发生的错误或者其他错误;
{
se.printStackTrace();
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try
{
if (stmt != null)
stmt.close();
}
catch (SQLException se2) {}
try
{
if (conn != null)
conn.close();
}
catch (SQLException se)
{
se.printStackTrace();
}
}
System.out.println("Goodbye!");
}
}```
对于刚开始学 jdbc 的小白来说,直接将上面的复制过去之后只需要改一下你的表名和字段就行了,但想必刚看到这些都是一脸懵吧!
#### 首先,这下面这一部分的代码是每一次都要写的,后面的视具体操作改变:
```java
import java.sql.*;
public class FirstExample
{
static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost/test";
static final String USER = "root";
static final String PASSWORD = "**********";
public static void main (String[] args)
{
Connection conn = null;
Statement stmt = null;
try
{
Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println("Connecting to database...");
conn = DriverManager.getConnection(DB_URL,USER,PASSWORD);
System.out.println("Creating statement...");
stmt = conn.createStatement();
我们可以通过帮助文档(只需要将光标放在上面就会出来)了解它们的大体意思:
Classforname:
这里说通过字符串名返回一个和该类或接口有关的 object 类,字符串也就是 com.mysql.cj.jdbc.Driver,这里返回的一个类其实就是 Driver,Driver 类也是一个接口,所以这里的解释并没有错,而加载这个类干什么呢?Driver 类中不止有抽象方法,还有一个静态代码块,而今天代码块中调用了 DriverManger.registerDriver () 来注册一个 Driver ,而 Driver 类中的抽象方法功能是直接与数据库服务器通信,所以一般也叫 Driver 驱动器;
Drivermanager:
这里说 DriverManager 的作用是对正在管理的一系列 jdbc 驱动器进行一个基本服务,在 jdbc 框架中,DriverManager 也叫驱动管理器,一个 DriverManager 可以连接多个 Driver,我们一般不会直接对 Driver 进行操作,而是通过 DriverManager 进行,前面的 DriverManager.registerDriver () 就是一个例子,接下来还通过 DriverManager.getConnection 获得了一个对数据库的连接;
我们可以看到 getConnection 的作用就是尝试和被给与的数据库地址搭建一个联系,当这一步完成后,对数据库的连接也就完成了;
Statement:
这里说 Statement 是一个被用来执行一个静态 SQL 语句和返回其产生结果的接口,所以我们在代码中提前声明了一个 Statement,用于之后对数据库的操作;
ResultSet:
一张展示了数据库结果集的表,这个结果集经常产生自执行查询数据库的语句;
Connection:
一个和特定数据库的联系;
总结:
总的来说以上的意思就是,创建几个分别代表你的数据库名、密码、数据库地址、驱动器地址的字符串,然后声明一个连接类,再声明一个SQL语句类,接着执行 Class.forName 中的静态代码块,静态代码块中调用了 DriverManager.registerDriver() 方法来注册一个驱动器(Driver)并返回这个驱动器,有了驱动器之后通过 DriverManager.getConnection() 来登录,返回一个连接给之前声明的连接类,至此数据库连接完成,然后通过 conn 的引用创建一个 SQL 语句对象 stmt,再用字符串来写入 SQL 语句,最后在通过 stmt.executeQuery 来执行,执行结果通过 ResultSet 来展示;
内容总结
以上是互联网集市为您收集整理的jdbc 连接 idea项目全部内容,希望文章能够帮你解决jdbc 连接 idea项目所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。