# 前言:
JDBC 指 Java 数据库连接,是一种标准Java应用编程接口( JAVA API),用来连接 Java 编程语言和广泛的数据库。这个我之前尝试过,但是时间久了,我也怕自己忘了相关的内容,所以通过本文来回顾
如有错误,欢迎大佬指正
> 【转载说明】本文优先发布于我的个人博客[www.226yzy.com](https://www.226yzy.com) ,转载请注明出处并注明作者:星空下的YZY。
>
> 本博客所有文章除特别声明外,均采用 [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)许可协议。
也欢迎通过我的博客阅读[本文](https://226yzy.com/2022/020332243.html)
# 下载Mysql数据库驱动
由于Java 连接 MySQL 需要额外的驱动包,你可以通过下面的链接去下载你需要的版本
下载驱动包 [https://mvnrepository.com/artifact/mysql/mysql-connector-java](https://mvnrepository.com/artifact/mysql/mysql-connector-java)
然后放在你的项目文件里
# 数据库驱动加载
有了驱动包之后就要进行数据库驱动加载
我当时写的代码如下
```java
// 数据库驱动加载
public static void DatabaseDrivenLoad()
{
try
{
Class.forName("com.mysql.jdbc.Driver");
System.out.println("数据库驱动加载成功");
} catch (ClassNotFoundException e)
{
e.printStackTrace();
System.out.println("数据库驱动加载失败");
}
}
```
主要就是`Class.forName("com.mysql.jdbc.Driver");`这一句
# 数据库连接
数据库驱动加载后就是数据库连接
我当时写的代码如下
```java
// 数据库连接
public static void DatabaseConnection()
{
try
{
Conn.con = DriverManager.getConnection(
"jdbc:mysql:"
+ "//127.0.0.1:3306/test12?characterEncoding=utf-8",
"root", "");
System.out.println("数据库连接成功");
} catch (SQLException e)
{
e.printStackTrace();
System.out.println("数据库连接失败,请检查url或用户名及密码");
}
}
```
其实就是
```java
String driver = "jdbc:mysql://127.0.0.1:3306/test“;
Connection con = DriverManager.getConnection(driver, "root", “123456");
```
`driver`代表数据库URL
`root`代表数据库账户
`123456`代表你对应的数据库密码
***有中文乱码的问题?***
不妨尝试一下在原来的数据库URL后面加上`?characterEncoding=utf-8`
# 数据查询
这里会使用到**Statement接口**和**ResultSet接口**
创建接口对象
```java
Statement stmt = con.createStatement();
ResultSet res = stmt.executeQuery("select * from user12");
```
`con`是前面创建的Connection对象
`res`将是后续返回结果集的对象
我的使用参考如下
```java
try
{
Statement stmt = Conn.con.createStatement();
ResultSet res = stmt.executeQuery("select * from book12");
while (res.next())
{
String id = res.getString("id");
String name = res.getString("name");
int typeid = res.getInt("typeid");
String writer = res.getString("writer");
String publisher = res.getString("publisher");
double price = res.getDouble("price");
int number = res.getInt("number");
Book book = new Book(id, name, typeid, writer, publisher, price,
number);
Conn.Books.add(book);
}
} catch (Exception e)
{
e.printStackTrace();
System.out.println("数据库书籍数据读取失败");
}
```
# 增删改数据
可以使用***Statement对象***的`executeUpdata()`方法,通过不同的SQL语句实现运行增,删,改操作,返回更新的行数。
例如
```java
String sql = "update user12 set name='" + name + "' where id='" + id
+ "' ";
state.executeUpdate(sql);
```
# 最后
暂时就写到这了,如有错误,欢迎大佬指正
欢迎访问我的小破站https://www.226yzy.com/ 或者GitHub版镜像 https://226yzy.github.io/ 或Gitee版镜像https://yzy226.gitee.io/
我的Github:[226YZY (星空下的YZY) (github.com)](https://github.com/226YZY)
> 【转载说明】本文优先发布于我的个人博客[www.226yzy.com](https://www.226yzy.com) ,转载请注明出处并注明作者:星空下的YZY。
>
> 本博客所有文章除特别声明外,均采用 [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)许可协议。