Java JDBC

JDBC概述

JDBC----->Java DataBase Connectivity java数据库连接

JDBC是Java制定的一套用于如何连接数据库的API,可以支持连接多种数据库

Java可以连接不同的数据库,每种数据库的连接方式都一样。如果不一样,就需要学习多套,很麻烦,所以Java只定义了一套标准(抽象类/接口),具体连接数据的实现,让数据库开发商自己实现,实现必须遵守Java制定的规范,程序员学习使用标准规范

程序员只需要编写一次,就可以访问不同的数据库

JDBC API:供程序员调用的接口与类,集成在java.sql包中

DriverManager类作用:管理各种不同的JDBC驱动

Connection接口:与特定数据库的连接

Statement接口 :执行sql

PreparedStatement接口:执行sql

ResultSet接口:接收查询结果

JDBC搭建

注册JDBC驱动程序

需要初始化驱动程序:

Class.forName("com.mysql.cj.jdbc.Driver");//反射实现

new Driver();

建立与数据库连接:

Connection connection = DriverManager.getConnection(url,user,password);

URL:jdbc:mysql://ip(127.0.0.1):端口(3306)/数据库名?serverTimezone=Asia/Shanghai

USER:用户名(root) PASS:密码

获得Statement执行sql语句

Statement st = connection.createStatement();

Statement中的方法:

Int executeUpdate(String sql) 用于执行ddl语句和dml(增,删,改)语句 返回操作的行数

ResultSet executeQuery(String sql); 用于执行查询语句,返回一个ResultSet 集合

获得PreparedStatement执行sql语句

PreparedStatement ps = connection.prepareStatement(String sql)

PrepareStatement中的方法:

Int executeUpdate() 用于执行ddl语句和dml(增,删,改)语句 返回操作的行数

ResultSet executeQuery(); 用于执行查询语句 返回一个ResultSet 集合

关闭与数据库的连接通道

st.close;

rs.close;

connection.close;

ps.close;

PreparedStatement和Statement

区别:

1.代码的可读性和可维护性

2.极大的提高了安全性,防止sql注入

Stringsql=“ delete from user where id =”+num;

如果我们把[or 1=1]作为id传入进来?

delete from tb_name where id = 1 or 1 = 1;

因为‘1’=‘1’肯定成立

而如果你使用预编译语句,你传入的任何内容就不会和原来的语句发生任何匹配的关系

预编译模式中每个占位符处,只能插入一个值,而会过滤其它语句

结果集处理

PreparedStatement和Statement中的executeQuery()方法中会返回一个ResultSet对象,查询结果就封装在此对象中

使用ResultSet中的next()方法获得下一行数据

使用getXXX(String name)方法获得值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值