文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

java与数据库的连接

2023-09-15 17:04

关注

文章目录


前言

随着我们对java和数据库的深入学习,java与数据库连接也让很多小伙伴感到头疼,而本文就介绍了利用JDBC中的基础API建立java与数据库的连接。


一、mysql-connector-java

要像让我们的java项目连接到我们的数据库,我们需要先下载一个jar包,而mysql-connector-java就是我们连接数据库所需要的jar包,mysql-connector-java共分为5和8的版本。
mysql-connector-java的下载路径如下:https://dev.mysql.com/downloads/connector/j/

二、使用步骤

1.mysql-connector-java-5

该版本支持5.6、5.7、8.0版本的mysql数据库,支持3.0、4.0、4.1、4.2版本的jdbc,在使用该版本时Driver类的实现路径是
com.mysql.jdbc.Drive。

2.mysql-connector-java-8

支持5.6、5.7、8.0版本的mysql数据库,支持4.2版本的jdbc,在使用该版本时的Driver类的实现路径是com.mysql.cj.jdbc.Drive。


三、mysql-connector-java的使用

首先,我们要创建一个空项目,之后我们在src目录下创建一个名为lib的Directory文件

请添加图片描述
然后,我们将我们的mysql-connector-java包复制到lib文件内请添加图片描述
复制完后,我们需要做的就是启动这个jar包
请添加图片描述
如果我们的jar包变为可展开模式的话就说明我们jar包启动成功了请添加图片描述

代码的实现

//1.注册驱动//注册驱动时,我一般使用反射触发的方案//如果你用的jar包是5版本的话,这里的cj也就不用加上了,也就是"com.mysql.jdbc.Driver"Class.forName("com.mysql.cj.jdbc.Driver");//2.获取连接Connection connecti = DriverMapper.getConnection();//getConnection()方法共有三种,分别是有一个参数url、有两个参数url和info,最后一个是有三个参数url、user和password//一个参数:String url 的格式: "jdbc:mysql://127.0.0.1:3306/数据库名?user=账号&password=密码"//两个参数:String url的格式:"jdbc:mysql://127.0.0.1:3306/数据库名",而Properti info也就是将user和password封装进一个对象//三个参数:String url的格式:"jdbc:mysql://127.0.0.1:3306/数据库名",String user是你的数据库账户名,String password是你的数据库密码//3.创建statement//这一步有两种方案,一种是静态方案,另一种是预编译的方案,这里我们使用预编译的方案PreparedStatement preparedstatement = connection.preparedStatement(sql语句结构);//这里的sql语句结构就是你要对数据库的操作,例如"select * from 数据库名"//4.占位符赋值//对你sql语句中的占位符?进行赋值操作preparedstatement.setObject(?的位置 从左到右 从1开始,);//5.发生SQL语句//我们发送的sql语句分为DQL和非DQL是有不同的发送方法的int rows = executeUpdate();//非DQLResult result = executeQuery();//DQL//6.查询结果的解析if(result.next())while(result.next())//因为result返回的结果的光标是停在数据的前一行的,所以我们要使用next()方法使光标下移,这里的判断就是判断光标下移是否//还有数据,如果有,返回true,没有则返回false//获取列的数据即可get类型(int 列的下角标 从1开始);//获取列的信息getMetadata();  ResultsetMetaData对象包含的就是列的信息//7.关闭资源//调用对应的close()方法即可

举例

在这里插入代码片@Testpublic void testDelete() throws ClassNotFoundException, SQLException {//1.注册驱动Class.forName("com.mysql.cj.jdbc.Driver");//2.获取连接Connection connection = DriverManager.getConnection("jdbc:mysql:///atguigu", "root", "123456");//3.编写SQL语句结果,动态值的部分使用?代替String sql = "delete from t_user where id=?";//4.创建prepareStatement,并且传入SQL语句的结果PreparedStatement preparedStatement = connection.prepareStatement(sql);//5.占位符赋值preparedStatement.setObject(1,3);//6.发送SQL语句int rows = preparedStatement.executeUpdate();//7.输出结果if (rows > 0){System.out.println("删除成功!!");}else {System.out.println("删除失败!!");}//8.关闭资源preparedStatement.close();connection.close();}

其对应的输出结果为:删除成功!!

来源地址:https://blog.csdn.net/name_xy/article/details/130304374

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯