JDBC学习

JDBC事务

  我们模拟一个场景,为了满足用户需要,需要进行两步操作,可如果两步之间出现了异常,第二步操作就不会进行,但是此时第一步操作已经改变了数据库。这是因为JDBC有自动提交机制。

处理事务的三步:

1.conn.setAutoCommite(false):关闭自动提交机制

2.conn.commit():手动提交,也就是整段代码段运行到此处时,前面的代码都无误,所以在此处手动提交。

3.conn.rollback():手动回滚,放在处理异常的代码段中,就是在出现异常时,使已经被改变的数据库内容还原。 

实现一个登录功能

第一步:提供一个输入的界面,可以让用户输入用户名和密码

第二步:底层数据库当中需要有一张用户表,用户表存储了用户信息

第三步:当java程序接收到用户名和密码的时候,连接数据库验证用户名和密码。

验证通过,表示登陆成功,验证失败,表示登录失败

Statement和PreparedStatement用法区别

Statement

特点:先进行字符串的拼接,然后再进行sql语句的编译

优点:使用Statement可以进行sql语句的拼接

缺点:因为拼接的特定啊,导致可能给不法分子机会,导致sql注入

PreparedStatement

特点:先进行sql语句的编译,然后再进行sql语句的传值

优点:避免sql注入

 缺点:没有办法进行sql语句的拼接,只能给sql语句传值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值