使用JDBC操作数据库

前言:

JDBC 指 Java 数据库连接,是一种标准Java应用编程接口( JAVA API),用来连接 Java 编程语言和广泛的数据库。这个我之前尝试过,但是时间久了,我也怕自己忘了相关的内容,所以通过本文来回顾🤣

如有错误,欢迎大佬指正😆

【转载说明】本文优先发布于我的个人博客www.226yzy.com ,转载请注明出处并注明作者:星空下的YZY。

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0许可协议。

也欢迎通过我的博客阅读本文

下载Mysql数据库驱动

由于Java 连接 MySQL 需要额外的驱动包,你可以通过下面的链接去下载你需要的版本

下载驱动包 https://mvnrepository.com/artifact/mysql/mysql-connector-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");这一句

数据库连接

数据库驱动加载后就是数据库连接

我当时写的代码如下

// 数据库连接
	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或用户名及密码");
		}
	}

其实就是

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接口

创建接口对象

Statement stmt = con.createStatement();
ResultSet res = stmt.executeQuery("select * from user12");

con是前面创建的Connection对象

res将是后续返回结果集的对象

我的使用参考如下

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语句实现运行增,删,改操作,返回更新的行数。

例如

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)

【转载说明】本文优先发布于我的个人博客www.226yzy.com ,转载请注明出处并注明作者:星空下的YZY。

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0许可协议。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星空下的YZY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值