JDBC学习(1)

才疏学浅,第一次写博客,仅供参考吧,主要是用于自己的复习

JDBC

概念

JDBC(Java Database Connectivity)是一个独立于特定数据库管理系统、通用的SQL数据库存取和操作的公共接口(一组API),定义了用来访问数据库的标准Java类库,(java.sql,javax.sql)使用这些类库可以以一种标准的方法、方便地访问数据库资源。

JDBC实战

准备工作

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (
  `name` varchar(255) CHARACTER,
  `password` varchar(255) CHARACTER 
)
INSERT INTO `user` VALUES ('lucy', '12345');
INSERT INTO `user` VALUES ('jack', '54321');

添加驱动依赖(这里添加的是mysql的依赖)
用maven仓库的形式来导入jar包
点击访问仓库地址

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.22</version>
</dependency>

如果不会maven也没有关系
可以进入仓库
在这里插入图片描述
点击红圈位置即可下载jar包
然后进行以下步骤:
(1)将DBMS数据库管理软件的驱动jar拷贝到项目的libs目录中
(2)把驱动jar添加到项目的build path中
(3)将驱动类加载到内存中


以上完成后便已经导入了依赖 创建工程加入以下代码(其中的配置按自己的实际进行修改)
Class.forName("com.mysql.cj.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/test";
String userName = "root";
String passWord = "root";

效果图如下
在这里插入图片描述
打印connection的原因是看是否连接到了数据库
结果出现报错

在这里插入图片描述
这是时区问题,是mysql8.0出现的问题,解决的办法就是在url后面加上时区
?serverTimezone=GMT%2B8 即可
在这里插入图片描述
发现报错已经解决


以上解决完成后便成功连接到了数据库

JDBC增删改查

我们之前得到了connection对象,我们可以通过connection得到一个statement
,我们对数据库的增删改查操作便是对statement进行操作
实现代码如下

Statement statement = connection.createStatement();  //得到statement对象

然后自己编写sql语句进行对数据库进操作
在这里插入图片描述
statement可以调用的方法有很多
在这里插入图片描述
一般来说我们可以通过方法名大致了解方法的作用
像我们刚才调用的executeUpdate就是更新插入

控制台打印的1便是数据库有几条语句受到了影响
在这里插入图片描述
数据已经插入到了数据库中
在这里插入图片描述
为了避免资源的浪费我们还应该操作完成后对这些对象进行关闭
完整代码如下

            Class.forName("com.mysql.cj.jdbc.Driver");
            String url = "jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8";
            String userName = "root";      //数据库的账号名字
            String passWord = "root";      // 数据库的密码
            Connection connection = DriverManager.getConnection(url, userName, passWord);

            Statement statement = connection.createStatement();

            String sql = "insert into user values('张三',77777777)";

            int update = statement.executeUpdate(sql);

            System.out.println(update);
            //5.释放资源
            if (statement != null) {
                statement.close();
            }
            if (connection != null) {
                connection.close();
            }

其实都了增加,删除的道理也差不多
我们还是对sql语句进行改变

将之前的String sql 进行修改即可
String sql = "delete from user where name='张三'";

在这里插入图片描述
数据已经就可以被删除了
在这里插入图片描述

类似增加和删除,到了这你自己应该也可以写出自己的修改程序了吧

将之前的String sql 进行修改即可
String sql = "update user set  password = '88888888' where name = 'lucy'";

在这里插入图片描述
完成对数据修改

查找需要多一步操作,你需要创建一个bean来封装数据库得到的数据

在这里插入图片描述
创建一个与数据库对应的对象

  1. 然后进行修改sql语句
String sql = "select * from user";
  1. 然后通过statement调用方法进行查找

  2. 查找返回的是一个set

  3. 我们通过一个while循环取出里面的数据加到集合中

  4. 最后查出所有数据
    相信到这你应该明白怎么查询语句了吧

在这里插入图片描述
以上就可以对数据进行一个查询
到这增删改查已经都聊完了

Statement其实有很多的问题
如每次执行一个SQL语句都需要先编译 和 sql语句拼接 和 sql注入等问题
所以我们会使用PreparedStatement解决问题
这个PreparedStatement我们下一篇博客再说吧,大家先把这个增删改查弄懂吧

纸上得来终觉浅,绝知此事要躬行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值