jdbc增删改查_JDBC入门(二)—— 增删改查

d4a410bae8beab7dad72ecd02dca43e0.png

一、执行DDL语句

SQL的DDL语句也就是数据定义语言(Data Definition Language),在JDBC中需要获取Statement类对象,然后使用Statement类对象发起

现在尝试通过JDBC在数据库中创建表:

// 参数:

这里使用了Statement类的executeUpdate()方法来执行DDL语句,这个方法对于 SQL 数据操作语言 (DML) 语句,将返回行计数。由于这个示例是创建一张表,所以executeUpdate()方法返回0。

二、执行DML语句

DML也就是数据操纵语言(Data Manipulation Language),JDBC同样使用Statement类的executeUpdate()方法来执行DML语句。

现在尝试往刚才创建的Student表中插入一条数据:

//省略参数代码。。。

执行成功,打印count输出1,表示影响了数据表中的一行记录。

查看数据表果然插入了一条记录:

d1d0602d3f562194b300d6576678d4d6.png

三、执行DQL语句

DQL就是数据查询语言(Data Query Language),需要通过Statement类的executeQuery()方法来执行SQL查询语句。

下面尝试使用DQL语句查询Student表的内容:

//省略参数代码。。。

查询结果:

d1d0602d3f562194b300d6576678d4d6.png

executeQuery()方法会返回一个ResultSet对象,需要借助ResultSet的next()方法来做移动游标的操作,以遍历查询结果的每一行记录。另外ResultSet有诸如getXXX()的方法用于取得每一行记录中的每一个分量。

四、使用预编译的方式执行SQL语句(推荐)

除了使用Statement类来发送SQL语句外,还可以使用PreparedStatement类(Statement类的子类)发送SQL语句,PreparedStatement类使用预编译的方式来构建JAVA应用程序和数据库的交互。

现在使用预编译SQL的方法向Student表中插入一行记录:

//省略参数代码。。。

插入一条记录成功!

PreparedStatement与Statement的区别在于:

  • 语法不同:PreparedStatement可以使用预编译的sql,而Statment只能使用静态的sql
  • 效率不同: PreparedStatement可以使用sql缓存区,效率比Statment高。(预编译SQL语句被缓存在数据库中,JAVA程序只需要传送参数给数据库,减少了数据传输量。)
  • 安全性不同: PreparedStatement可以有效防止sql注入,而Statment不能防止sql注入。

综上,因此强烈推荐使用预编译SQL的方式来与数据库进行交互。

当然PreparedStatement也能用于执行DDL与DQL,现在使用预编译SQL的方式来查询Student表中Sno字段为"201215129"的学生的姓名:

//省略参数代码。。。

控制台输出结果:

569d0794a48f14646a2d0622821fca43.png

查询结果正确!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值