<>JDBC

<>JDBC概述

* Java连接数据库
* java来处理数据的,连接到数据库 将数据发送到数据执行保存
* JDBC是java连接数据的一种规范
* java程序需要连接不同的数据库,不同的数据库实现的细节不同
<>JDBC搭建

* 导入mysql开发商提供的连接mysql数据库的驱动包 60多个 100个
* 加载mysql驱动类
* 建立与数据库的连接通道
* 向数据库发送sql
* 关闭与数据库连接通道
java语言开发者制定了一套(接口),具体的实现交给不同的数据库开发商来实现

*
注册JDBC驱动程序:

*
这需要初始化驱动程序,这样就可以打开与数据库的通信信道。

Class.forName(“com.mysql.cj.jdbc.Driver”); //反射实现或者
DriverManager.registerDriver(new Driver())

*
建立与数据库连接:

*
这需要使用DriverManager.getConnection()方法来创建一个Connection对象,它代表一个物理连接的数据库

Connectionconn=DriverManager.getConnection(URL,USER,PASS);`

URL:jdbc:mysql://ip(127.0.0.1):端口(3306)/数据库
名?serverTimezone=Asia/Shanghai
USER:用户名(root)
PASS:密码
Connection connection =

DriverManager.getConnection(“jdbc:mysql://127.0.0.1:3306/schooldb?serverTimezone=Asia/Shanghai”,“root”,“root”);

*
获得Satement执行sql语句

*
Statement st = connection.createStatement();

*
executeUpdate(String sql) 用于执行ddl语句
Statement st = connection.createStatement(); st.executeUpdate("INSERT INTO
student(NAME,gender,birthday,phone)" + "VALUE('"+name+"','"+gender+"','"+
birthday+"','"+phone+"')"); st.close(); connection.close();
* 获得PrepareStatement执行sql语句
* 在sql语句中参数位置使用占位符,使用setXX方法向sql中设置参数
* PrepareStatement ps=connection.prepareStatement(sql) PreparedStatement ps =
connection.prepareStatement("insert into student(name,gender,birthday,phone)"+
"value(?,?,?,?)"); ps.setObject(1,name); ps.setObject(2,gender); ps.setObject(3,
birthday); ps.setObject(4,phone); ps.executeUpdate();//执行 ps.close(); connection
.close();
<>PreparedStatement和Statement

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

*
虽然用PreparedStatement来代替Statement会使代码多出几行,但这样的代码无论从可读性还是可维护性上来说.都比直接用Statement的代码高很多档次:
2、最重要的一点是极大地提高了安全性

* PreparedStatement 预先编译sql,向sql中传值是进行检测,一个?是一个占位符,对应一个值 是安全的,防止sql注入
* Statement直接将参数拼接到sql中,不能防止sql注入 不安全
<>结果集处理

● PreparedStatement和Statement中的executeQuery()方法中会返回一个ResultSet对象,查询结果就封装在此对象中
● 使用ResultSet中的next()方法获得下一行数据
● 使用getXXX(String name)方法获得值

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信