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语句查询不包含
SQL语句将MySQL的语句结束符改为双斜线(//), 这样就可以在创建存储过程中使⽤分号作为分隔符(
MySQL默认使⽤分号作为语句结束符)。
调⽤存储过程使⽤CallableStatement, 可以通过Connection 的prepareCall()⽅ 法来创建CallableStatement对象,创建该对象时需要传⼊调⽤存储过程的SQL语句。调⽤存储过程的SQL语句总是这种格式: {call 过程名(?,?,?..)},其中的问号作为存储过程参数的占位符。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。