SpringBoot+MyBatis+MySQL学习日志

(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”,以此类推。

猜你喜欢

转载自blog.csdn.net/yssa1125001/article/details/84870258