刚开始了解jeesite这个东西,网上文档写的不够详细,遇到问题也不知道为什么,很懵逼,自己也是经历了其中的坑,现在做个记录,希望可以帮到各位。
怎么创建我就不讲了,可以参考这个博文:https://www.cnblogs.com/hzwh/p/9035853.html
我就做些我的补充吧!
1.数据库主键问题:我一直用的int类型【id int】,可是这个jeesite要求是varchar类型 【varchar 64】,这个坑了我,血泪。
2.数据库类型问题,数据库编码问题。
我测试的这个表的脚本如下:
/*
Navicat Premium Data Transfer
Source Server : first
Source Server Type : MySQL
Source Server Version : 50730
Source Host : localhost:3306
Source Schema : jeesite
Target Server Type : MySQL
Target Server Version : 50730
File Encoding : 65001
Date: 11/06/2020 09:27:06
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for tb_test
-- ----------------------------
DROP TABLE IF EXISTS `tb_test`;
CREATE TABLE `tb_test` (
`id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0',
`phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`age` int(11) NOT NULL DEFAULT 0,
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0',
`create_date` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`update_date` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
`remarks` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`del_flag` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;
-------------------------------------------------------------------------------------------------------------------------------------
还有数据库配置文件my.ini问题:
[client]
# 设置mysql客户端默认字符集
default-character-set=utf8
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:\\web\\mysql-5.7
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
datadir=C:\\web\\sqldata
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
-------------------------------------------------------------------------------------------------------------------
这个一定要设置一下,不要忘记了,我的数据库版本为5.7
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION