学习jdbc踩过的坑

注册驱动时:

Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class iscom.mysql.cj.jdbc.Driver’. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

  • 数据库驱动com.mysql.jdbc.Driver已经被弃用了,应当使用新的驱动com.mysql.cj.jdbc.Driver

连接jdbc时:

The server time zone value ‘�й���׼ʱ��’ is unrecogni

  • 使用了Mysql Connector/J 6.x以上的版本,然后就报了时区的错误。加入参数serverTimezone=UTC就好了。

执行sql语句时:

check the manual that corresponds to your MySQL server version for the right syntax to use near

  • 可能1:表名使用了Mysql的关键字
  • 可能2:“near”之后提示的地方有打错的地方,比如多个符号少个字母等等

java.sql.BatchUpdateException: No value specified for parameter 5

  • 使用了PreparedStatement预处理,但是参数的个数与占位符?的个数不匹配

查询日期字段时:

查询日期字段为2020-02-27的数据时返回2020-02-26的数据

  • 连接jdbc时出现时区错误加入参数serverTimezone=UTC,而UTC为协调世界时,中国的时间与UTC的时差为+8小时。所以会晚一天,把UTC改为Asia/Shanghai即可

更新数据库数据时:

Duplicate entry ‘xxx’ for key ‘yyy’

  • 原因:向唯一字段yyy插入相同数据xxx

连接数据池时:

Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory

  • 没有引入logging的jar包

获取数据内容要读取时:

Column Index out of range,

  • 可能1:jdbc取值是从1开始,可能是取值为0
  • 可能2:取值大于索引范围

通过读取属性文件中的配置信息创建连接池时:

java.lang.NullPointerException at java.util.Properties$LineReader.readLine(Unknown Source)
at java.util.Properties.load0(Unknown Source)

  • 可能1:文件路径错了
  • 可能2:文件名错了
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值