JDBC操作数据库步骤

准备工作:

a:将mysql-connector-java-5.1.7-bin.jar包在java工程中BuildPath的Add External JARS添加
b:在MySQL中添加一个student数据库,新建一个table,属性有id,name,sex

第一步:加载驱动类(如果是Oracle就省略此步,ojdbc6.jar可以自动加载驱动)

在这里插入图片描述
作用:初始化加载JDBC类到java虚拟机
需要处理异常,用try catch处理
在这里插入图片描述

第二步:建立连接

在这里插入图片描述
参数含义:
url:表示要连接的数据地址
username:数据库的用户名
password:数据库的密码
也需要处理异常,用try catch处理
在这里插入图片描述

第三步:执行SQL语句

1、创建Statement类,需要导包
1.1三种Statement类:
a:Statement:
由createStatement创建,用于编译并发送简单的sql语句(不带参数)
注意:使用Statement容易发生SQL注入风险,容易被人在外部修改数据库的内容,所以不提倡使用
在这里插入图片描述

b:PreparedStatement:
继承自Statement接口,由PreparedStatement创建,用于编译并发送含有一个或多个输入参数的sql语句,PreparedStatement对象比Statement对象的效 率更高,并且有预处理的过程,通过占位符?来过滤掉不符合要求的条件,可以防止SQL注入,所以一般使用PreparedStatement
在这里插入图片描述

c:CallableStatement:
继承自PreparedStatement接口,由方法prePareCall创建,用于调用存储过程

1.2常用的Statement方法
a:execute():运行语句,返回是否有结果集,是布尔型,结果为ture或false
boolean result = ps.execute();
b:executeQuery():运行select语句,返回resultSet结果集
在这里插入图片描述
需要创建结果集ResultSet(要导包),储存查询到的每条数据
next()(游标原理):游标头默认指向第一条数据,如果下面还有数据,当查询到结果后游标就指向第二条数据,以此类推,直到下一条数据不存在,就返回false,游标就停止移动

c:executeUpdate():运行insert,update,delete语句,返回更新的行数

第四步:关闭连接close()

每一个Connection连接和(Prepared)Statement和ResultSet都需要在finally中关闭,而且都需要try catch处理,并且try要分开写
在这里插入图片描述
在这里插入图片描述

还需要给Connection和PreparedStatement和ResultSet赋初值为null
在这里插入图片描述
注意:遵循ResultSet–>Statement–>Connection关闭连接顺序
常见的jdbc错误:
a:ClassNotFoundException:驱动类未找到
b:java.sql.SQLException:No suitable driver found for:URL错误
c:invalid username/password:用户名或密码错误
d:java.sql.SQLSyntaxErrorException:无效SQL语句:sql语句错误
e:java.sql.SQLIntergrityConstrainViolationException:违反唯一约束条件:主键冲突

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值