JAVAWeb学习----JDBC

JDBC



前言

由于考研复习,很长一段时间没有碰过JAVA了加上当时学习的也并不是很认真于是决定从JAVAWeb开始重新学习,一个人学习容易犯懒就萌生了写博客的想法,毕竟以前好多代码都是从这里复制的,哈哈哈哈,现在开始写写。 由于技术有限,可能会有错误出现,如果有大神看到了谢谢帮忙指正。


一、JDBC是什么

JDBC是java访问数据库的标准规范,可以说是数据库驱动。每个数据库厂商根据自家数据库的通信格式编写好自己的数据库驱动,因此我们只需要学会调用JDBC接口中的方法就行。

二、使用步骤

1.数据库驱动

由各大厂商提供,需要自己下载,是对JDBC接口实现的类
这里我将使用Mysql驱动,将百度网盘链接附上,有需要的自取
链接:https://pan.baidu.com/s/1zvKA4f6CuwK19EZNwL8aKQ
提取码:x241

2.驱动的使用

首先创建新文件夹用于存放JDBC驱动,方便管理

将提前准备好的驱动直接复制到新建好的文件夹中
将
**还有重要的一步!**记得将驱动Add as Library!(忘记截图了)

3.开始使用

这里很粗暴的直接贴了一大段代码:

public static void main(String[] args) {
        Connection conn = null;
        Statement stat = null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql:///db3","root","root");
            String sql = "insert into stu values ('2','王五','24','噜噜噜噜')";
            stat = conn.createStatement();
            int count = stat.executeUpdate(sql);
            if(count>0){
                System.out.println("添加成功");
            }else {
                System.out.println("添加失败");
            }

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }finally {
            if(conn != null){
                try {
                    stat.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(stat != null){
                try {
                   conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }

现在对其中的一些细节进行补充:

1.Class.forName(“com.mysql.jdbc.Driver”);

加载和注册驱动的方法,值得注意的是从JDBC3开始就可以不用注册直接使用,这句话可以省略。
*报错是正常的!try/catch了就可以

2.DriverManager类

1.作用
				1.管理和注册驱动
				2.创建数据库的连接
2.类中的方法

Connection getConnection(String url , String user , String password)(Connection为返回值)
例如:
conn = DriverManager.getConnection(“jdbc:mysql:///db3”,“root”,“root”);
其中url的格式为:协议名:子协议://服务器名或ip端口号/数据库名
*当时用localhost:3306(本机数据库时)可以省略服务器名和端口号,例如贴的代码。
String user:登录数据库的用户名
String password:登录数据库的密码

3.connection接口中的方法

Statement ceratStatment() 创建一条SQL语句(Statement为返回值)
例如:
stat = conn.createStatement();

4.Statmen

1.Statement的作用:
		代表一条语句对象,用于发送SQL语句给服务器,用于执行静态sql语句
		并返回它所生成结果的对象。
2.Statment中的方法
1.int executeUpdata(String sql)

用于发送DML语句,增删改的操作。
返回值:返回对数据库影响的行数。
例如: int count = stat.executeUpdate(sql);
count 作为计数器,当它的值大于0时表示操作对数据库中的行数存在影响,可以用于判断是否添加成功(修改和删除同理),当count值等于0时即对数据库中的行没有影响,即操作失败。

1.ResultSet executeQuery(String sql)

用于发送DQL语句,执行查询操作。
返回值:返回查询的结果集。

5.释放资源

释放资源需要放在最后的finally中,这就需要在代码开始就定义Statement和Connection,如果在try中定义就会变成局部变量,在finally中会出错。并且在释放资源的时候需要判断是否为空,否则容易出现空指针异常问题。
需要释放的资源有:ResultSet结果集,Statement语句,Connection连接
释放的先后顺序为:ResultSet结果集,Statement语句,Connection连接

最后

由于时个人的学习笔记,可能存在错误,并且技术有限,谢谢理解!如果对您有帮助那就最好不过了,一起努力提高技术!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值