数据库链接?characterEncoding=utf-8

解决数据库乱码 ?characterEncoding=utf-8

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3302/databaseName?characterEncoding=utf-8
或者jdbc:mysql://localhost:3306/kekeblog2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true
jdbc.username=root
jdbc.password=root

设置数据表名称不区分大小写

  • windwos下是不区分大小写的,linux默认区分大小写
mysqladmin -uroot -p shutdown               //以安全模式关闭数据库
cat /etc/mysql/mysql.conf.d/mysqld.cnf                                          //添加下面一行设置
.....
[mysqld]
lower_case_table_names=1
.....

/etc/init.d/mysql start                                 //启动mysql

参考链接:https://www.cnblogs.com/kevingrace/p/6150748.html

解决datetime时间不能为0000-00-00 00:00:00 的问题

  • 使用root登陆数据库 命令界面执行
-- 查看当前
select @@sql_mode;

-- 去掉 NO_ZERO_IN_DATE 和 NO_ZERO_DATE
set @@sql_mode=(select replace(@@sql_mode,'NO_ZERO_IN_DATE,NO_ZERO_DATE','')); 

-- 查看全局
select @@global.sql_mode;

set @@global.sql_mode=(select replace(@@global.sql_mode,'NO_ZERO_IN_DATE,NO_ZERO_DATE',''));

如果不生效执行刷新再试试flush privileges

  • 重新建表

  • 原因:

    • NO_ZERO_IN_DATE,NO_ZERO_DATE是无法默认为‘0000-00-00 00:00:00’的根源。
    • NO_ZERO_IN_DATE:在严格模式下,不允许日期和月份为零
    • NO_ZERO_DATE:设置该值,mysql数据库不允许插入零日期,插入零日期会抛出错误而不是警告。

你可能感兴趣的:(数据库链接?characterEncoding=utf-8)