(1)前端界面用表单input=datetime-local 取到的字符串时间为yyyy-MM-ddTHH:mm,中间多个"T",需要用字符串.replace(“T”,“ ”)方法替换掉。
(2)字符串转MySQL数据库datetime类型方法
DATE_FORMAT(#{birthday}, '%Y-%m-%d %H:%i:%s')
有大神推荐另一方法(未知效果)
str_to_date('2018-02-23 15:01:51', '%Y-%m-%d %H:%i:%s')
(3)MySQL数据库datetime类型转字符串方法
date_format(birthday,'%Y-%c-%d')
(4)字符串转BLOB类型方法
Blob blob = new SerialBlob(str.getBytes(“GBK”));编码格式可以为空,则取当前默认格式
博主 MySQL8.0.13版本 貌似可以直接把字符串不做转换插入BLOB类型中
(5)BLOB类型转字符串
String content = new String(blob.getBytes(1,(int)blob.length()),"GBK");编码格式可以为空,则取当前默认格式
(6)MyBatis映射文件做sql操作时,有多个不同类型形参的操作方法
.
<insert id="insertT" parameterType="Employee">('parameterType="Employee"'去掉执行插入会报错)
insert into employee (id,name,is_freeze,color,birthday,dept_id,sal,sex,content) values (#{param1.id},#{param1.name},#{param1.is_freeze},#{param1.color},DATE_FORMAT(#{param1.birthday}, '%Y-%m-%d'),${param1.dept_id},${param1.sal},#{param1.sex},#{param2})
</insert>
可以用#{param1},#{param2}这样定位不同的形参
(7)HTML5新增input属性,date和number在接收后台数据注入为默认值时会出现格式不匹配异常问题,date默认格式为年年年年-月月-日日,位数不能少,单位数前面要补0,否则会报异常,可以在后台用simpledateformat按照(“yyyy-MM-dd”)格式转换完成后再去传给前端完成数据注入。
而number则要注意小数点问题,如果后台数据小数点后有一位,如2.0,则必须在前端number 后设置step=“0.1”,以此类推。