mysql开发中遇到的一些版本问题

以5和8做比较

	private static String dbType = "MySql";
	//private static String driver = "com.mysql.jdbc.Driver";   // 版本5
	private static String driver = "com.mysql.cj.jdbc.Driver";
	private static String url = "jdbc:mysql://localhost:3306/plusoft_test?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true"; //连接数据库(meizu是数据库名)
	private static String user = "root";
	private static String pwd = "root";

  

Unknown initial character set index ‘255‘ received from server. Initial client character set can be forced via the ‘characterEncoding‘ property.
 一般是字符集错误,MYSQL 5.5 之前, UTF8 编码只支持1-3个字节;从MYSQL5.5开始,可支持4个字节UTF编码utf8mb4;

需根据使用的mysql版本更换对应的连接包(mysql-connector-java-5.1.30-bin)。

建表语句也有些不同(8):

CREATE TABLE `t_educational` (
  `id` VARCHAR(20) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `name` VARCHAR(20) COLLATE utf8mb4_general_ci DEFAULT NULL

)ENGINE=InnoDB
CHARACTER SET ‘utf8mb4‘ COLLATE ‘utf8mb4_general_ci‘

原文地址:https://www.cnblogs.com/lifan-xylm/p/12100051.html

时间: 2025-01-14 21:14:07

mysql开发中遇到的一些版本问题的相关文章

mysql开发中使用存储过程

在mysql开发中使用存储过程的理由: 当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的 mysql 执行语句是要先编译,然后再执行的.这样如果查询并发大的时候.会浪费很多资源和时间.造成mysql进程占用资源过多,症状就是慢.但存储过程可以把一些特别的语句封装成一个方法 ,再编译好成一个可以执行的方法,对外只要接收参数就可以了.这样就不用再编译.执行就快了.你觉得你数据库因为同时出现太多读写操作而变得慢 ,那么就要用了 使用了存过程,很多相似性的删除,更新

基于git的软件开发中并行工程管理以及版本控制系统概要

并行工程师什么,这里就不再解释(不懂请百度),实际上,在软件开发过程中,涉及到多人合作的以项目小组形式完成开发的软件(这里指广义上)或多或少都使用了并行工程的概念,在正式的项目开发中,项目小组成员总是分工合作每人完成一部分,然后再合并起来,而且,在实际应用中,尽管使用的是瀑布模型完成开发,但总是所有项目小组成员同时开始完成自己的部分,这,其实已经是并行工程了,我们可以自豪的宣布:我们在开发过程中使用了并行 工程这种高大上的玩意来提高开发速度,所以,老板你得给我们涨工资! 很简单吧,看起来好简单的

【转】关于在.Net开发中使用Sqlite的版本选择问题

如果一个.NET应用要自适应32位/64位系统,只需要在项目的“目标平台”设置为“Any CPU”.但是如果应用中使用了SQLite,情况就不同了. SQLite的.NET开发包来自是System.Data.SQLite,完成兼容ADO.NET接口,也提供了Linq和Entity Framework 6实现.但这不重要,重要的是System.Data.SQLite是由两部分代码组成的,一部分是非托管的C++代码实现,一部分是托管代码与.NET框架接口.由于非托管代码不能构建成“Any CPU”的

[转载]MySQL开发中常用的查询语句总结

1.查询数值型数据: SELECT * FROM tb_name WHERE sum > 100; 查询谓词:>,=,<,<>,!=,!>,!<,=>,=< 2.查询字符串 SELECT * FROM tb_stu  WHERE sname  =  ‘Cricode.com’ SELECT * FROM tb_stu  WHERE sname like ‘Uncle%Too’ SELECT * FROM tb_stu  WHERE sname like

MySQL中各种数据类型的长度及在开发中如何选择

接触MySQL这个数据库大概快要两年了,不过由于没有特别深入系统的去学习,大多也是停留在一知半解的状态.今天在工作中刚好碰到了表设计的问题,顺便写篇博客,把MySQL中数据类型和字段类型选择这方面给弄清楚. MySQL中的数据类型大体分为三大类,数值类型,时间日期类型以及字符串类型.下面将对这三种类型进行详细的介绍. 一.数值类型 MySQL 支持所有标准SQL 中的数值类型,其中包括严格数值类型(INTEGER.SMALLINT.DECIMAL 和NUMERIC),以及近似数值数据类型(FLO

iOS开发中的高版本宏检测

在框架开发中,为了适配最低的系统版本,我们需要注意不使用高版本API.但除了个人注意之外,是否可以在编译时由系统提示超出兼容版本的API使用情况呢, 观察了CF_AVAILABLE_IOS宏之后,我们给出了如下解决方案,即更改iOS SDK.具体方案如下: 添加位置: Frameworks-> CoreFoundation -> CFAvalailability.h line 115  添加代码: /* added by Mitty */ #define __NEP_2_0 availabil

asp.net5开发中DNX SDK版本的影响

某次asp.net5开发中遇到了一个很奇怪的问题,引用部分的nuget包没有显示任何错误,如下图: 但是编译时出现了几百个错误: 错误基本都是形如“CS0246 The type or namespace name 'Key' could not be found (are you missing a using directive or an assembly reference?) ”这种错误, 给人的第一感觉就是nuget包引用出了问题,但是不管你怎么检查就是查不出来哪里错了. 更离奇的是

在mac OS X中配置python mysql开发环境

1. 首先要下载安装mysql,下载地址: http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.19.tar.gz 解压: tar -xzvf mysql-5.6.19.tar.gz 然后下载gmock,编译mysql时需要用到: https://googlemock.googlecode.com/files/gmock-1.7.0.zip 解压到指定目录 <span style="font-size:14px;">unzi

BeX5开发中MySQL视图使用的一个小问题

问题 数据操作中的查询是极端重要的,使用频繁.MySQL数据库中视图概念的存在十分类似于微软Access小型关系数据库中的查询(二级考试重点).视图的存在极大减小了数据表的创建数量,而且还有更为高级的运用技巧.本文介绍在基于起步科技的BeX5平台上使用MySQL数据库中视图时反向生成本体时注意的一个小问题. MySQL数据库中表在BeX5平台开发中对应于"物理表"概念,但是为了增强软件开发中数据层的灵活性(软件需求阶段的实体结构不是一下百分之分确定的:有时需要不断调整),平台引入了本体