JDBC典型用法、执行SQL语句方式

JDBC典型用法

API:
DriverManager:用于管理JDBC驱动的服务类。程序中使用该类的主要功能是获取Connection对象
Connection: 代表数据库连接对象,每个Connection代表一个物理连接会话。要想访问数据库,必须先获得数据库连接
Statement:用于执行SQL语句的工具接口。该对象既可用于执行DDL、DCL语句,也可用于执行DML语句,还可用于执行SQL查询。当执行SQL查询时,返回查询到的结果集
ResultSet:结果集对象。该对象包含访问查询结果的方法,ResultSet可以通过列索引或列名获得列数据
编程步骤:
1.加载数据库驱动。通常使用Class类的forName()静态方法来加载驱动。
2.通过DriverManager获取数据库连接。
3.通过Connection对象创建Statement对象。
4.使用Statement执行SQL语句。
5.操作结果集。
6.回收数据库资源,包括关闭ResultSet、Statement 和Connection等资源。

执行SQL语句方式

JDBC不仅可以执行查询,还可以执行DDL、DML语句
可以用executeUpdate()方法执行DDL、DML语句
使用executeUpdate()执行DML语句与执行DDL语句基本相似,区别是executeUpdate()执行DDL语句后返回0,而执行DML语句后返回受影响的记录条数。
当不清楚SQL语句类型时,就需要用到execute()执行SQL语句,使用execute0方法执行SQL语句的返回值只是boolean 值,它表明执行该SQL语句是否返回了ResultSet对象。
如果经常需要反复执行一条结构相似的SQL语句,它们的结构基本相似,只是执行插入时插入的值不同,可以使用带占位符(?)参数的SQL语句来代替它,但Statement执行SQL语句时不允许使用问号占位符参数,而且这个问号占位符参数必须获得值后才可以执行。为了满足这种功能,JDBC提供了PreparedStatement 接口,它是Statement接口的子接口,它可以预编译SQL语句,预编译后的SQL语句被存储在PreparedStatement 对象中,然后可以使用该对象多次高效地执行该语句。简而言之,使用PreparedStatement比使用Staterment 的效率要高。
除此之外,使用PreparedStatement还有一个优势——当 SQL语句中要使用参数时,无须“拼接”SQL字符串。
在这里插入图片描述
使用PreparedStatement 执行带占位符参数的SQL语句时,SQL语句中的占位符参数只能代替普通值,不要使用占位符参数代替表名、列名等数据库对象,更不要用占位符参数来代替SQL语句中的insert、select等关键字。

SQL语句将MySQL的语句结束符改为双斜线(//), 这样就可以在创建存储过程中使用分号作为分隔符(MySQL默认使用分号作为语句结束符)。
调用存储过程使用CallableStatement, 可以通过Connection 的prepareCall()方 法来创建CallableStatement对象,创建该对象时需要传入调用存储过程的SQL语句。调用存储过程的SQL语句总是这种格式: {call 过程名(?,?,?..)},其中的问号作为存储过程参数的占位符。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值