首页 > 数据库技术 > 详细

mysql数据库URL解析

时间:2019-11-20 18:38:42      阅读:161      评论:0      收藏:0      [点我收藏+]

以举例的形式对常见配置进行解析。

比如:

datasource.url = 
  jdbc:mysql://localhost:3306/emp?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
localhost:数据库所在服务器的IP(localhost本地)
3306:数据库的端口号
emp:数据库的名字,databasename,mysql某个用户下的某个数据库名
useUnicode:是否使用Unicode字符集
characterEncoding:当useUnicode设置为true时,指定字符编码。
说明一:

mysql数据库用的是gbk编码,而你项目的mysql数据库需要的是utf-8编码,所以在url后面添加?useUnicode=true&characterEncoding=utf-8",表示
(1)数据库在存放项目数据的时候会先用UTF-8格式将数据解码成字节码,然后再将解码后的字节码重新使用GBK编码存放到数据库中;
(2)从数据库中取数据的时候,数据库会先将数据库中的数据按GBK格式解码成字节码,然后再将解码后的字节码重新按UTF-8格式编码数据,最后再将数据返回给客户端。
说明二:

JAVA连接MySQL数据库,在操作各项值均为0(或者有0不正确的数据?)的timestamp等(日期为0000-00-00。。。。)类型时不能正确处理,而是默认抛出一个异常,
比如所见的:java.sql.SQLException: Cannot convert value ‘0000-00-00 00:00:00‘ from column XX to TIMESTAMP。

举个实际的栗子,你的方法中要传入来自页面的日期参数值,

按照正常的做法,比如日期值为2016-10-11,但是由于误操作,传入了0000-00-00,并没有设置正确的数据,那么这时默认抛出java.sql.SQLException异常。

即这类操作情况的处理策略,有3种
1.exception(不指定,则默认)---->默认抛出异常,
2.convertToNull------->将日期转换成NULL值
3.round------->替换成最近的日期即XXXX-01-01 比如:zeroDateTimeBehavior=round 0001-01-01 00:00:00.0

 

 

mysql数据库URL解析

原文:https://www.cnblogs.com/clg2019/p/11899420.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!