
===========java注入数据库==========
java类型 mysql类型成功与否
date date yes
date time no
date timestamp no
date datetime no
time date no
time time yes
time timestamp no
time datetime no
timestamp date yes
timestamp time yes
timestamp timestamp yes
timestamp datetimeyes
==========end java注入数据库========
总规律,如果A完全包含B,则A可以向B注入数据,否则报错
==========从数据库提取到java ==========
mysql类型java类型 成与否
date date yes
date time yes --------------缺少的部分使用历元
date timestamp yes --------------缺少的部分使用历元
time date yes --------------缺少的部分使用历元
time time yes
time timestampyes --------------缺少的部分使用历元
timestamp date yes
timestamp time yes
timestamp timestamp yes
datetime date yes
datetime time yes
datetimetimestamp yes
==========end 从数据库提取到java=======
不会出错,缺少的部分使用历元,而不是当前日期时间
以mysql为例,有个字段是timestamp或者datatime类型。1、可以直接在java中直接new java.lang.util.Date()2、获取到一个时间类型的字符串,然后利用SimpleDateFormat中的parse方法将时间字符串解析成一个Date对象。现在比较流行的框架都是可以直接插入Date类型的数据,只要与数据库中的映射一致即可。如mybatis,如下:<resultMap id="BaseResultMap" type="com.test.User" > <id column="id" property="id" jdbcType="INTEGER" /> <result column="name" property="name" jdbcType="VARCHAR" /> <result column="insert_time" property="insertTime" jdbcType="TIMESTAMP" /></resultMap>只要User中的属性insertTime是一个标准格式的java.lang.util.Date类型,然后调用mybatis的insert方法即可插入。1.MyBatis3做数据持久层,在字段中有Date和DateTime类型,在插入数据时只要将实体的属性设置成Timestamp就会对应mysql的DateTime类型,Date会对应mysql的Date类型。
2.在MyBatis映射文件中要表明映射类型。
<result column="modified_date" jdbcType="TIMESTAMP" property="modifiedDate" javaType="java.sql.Timestamp" />
<result column="create_date" jdbcType="DATE" property="createDate" javaType="java.util.Date" />
<result column="date" jdbcType="TIMESTAMP" property="date" javaType="java.util.Date" />
3.在插入语句的那个mybatis XML文件在使用字段的时候也要标明类型,注意得用#{},别用${}
#{modifiedDate, jdbcType=TIMESTAMP}
#{createDate, jdbcType=DATE}。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)