问题:某个字段(时间类型)查询的时候,写入的时候,数据都是正确的,但是,插入Mysql时间就少了一天。 Java代码—Mapper SQL:
<select id="selectMyByPage" resultMap="BaseResultMap"> SELECT <include refid="Base_Column_List"/> FROM SYSADM.PS_STAFF_BASE_INFO WHERE emplid = #{emplid,jdbcType=VARCHAR} </select>Java代码—代码:
public void selectMyByPage() { List<StaffBaseInfo> staffBaseInfos = oracleStaffBaseInfoDao.selectMyByPage("10001122"); staffBaseInfos.forEach(item -> { System.out.println("生日: " + item.getBirthdate() + ", 入职日期" + item.getStartDtChn()); }); int insertBatch = staffBaseInfoDao.insertBatch(staffBaseInfos); System.out.println("插入结果: " + insertBatch); }Java代码—代码SQL日志显示:
生日: Sun Aug 21 00:00:00 CDT 1988, 入职日期Wed Jul 13 00:00:00 CST 2011 Preparing: INSERT INTO staff_base_info ( emplid,birthdate,start_dt_chn, orig_hire_dt) VALUES ( ?, ?, ?) Parameters: (10001122(String), 1988-08-21 00:00:00.0(Timestamp), 2011-07-13 00:00:00.0(Timestamp) Updates: 1Java代码—对数据库的数据影响:
emplid 生日 入职日期 10001122 1988-08-20 2011-07-13Java代码—数据库link配置:
jdbc:mysql://ip:port/XXX?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8 # 这里配置了GMT+8上诉代码和日志已经写清楚了,从Oracle中查询和插入Mysql的过程。以及数据的展示。