package test;import org.junit.Test;
import utils.JDBCUtils;import java.sql.*;
import java.text.SimpleDateFormat;/*** @author YIMENG* @creat 2022-04-18 13:32* @Desciption:**      关于java的日期与数据库的日期问题*      1.数据库中的date是sql.date,在创建javabean时可以将属性声明为sql.date类型*      2.在向数据库存储date1时,此时的date1可能是util.date,而数据库中是sql.date/DATETIME*          此时,可以考虑将date1按照“yyyy-MM-dd HH:mm:ss”的格式格式化成字符串,之后保存到数据库中,*          由于数据库有隐式转换功能,可以将满足此格式的字符串隐式转换为对应的sql.date/DATETIME类型*      3.若数据库中存储的是DATETIME类型,在jdbc读取时,不能使用resultSet.getDate(...)/resultSet.getTime(...)*          前者不包括时间,后者不包括日期*          应使用resultSet.getTimestamp(...)返回值类型为java.sql.Timestamp!!!*/
public class DateQuestion {@Testpublic void test1(){java.util.Date date = new java.util.Date();System.out.println(date);SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String dateStr = sdf.format(date);System.out.println(dateStr);String sql = "insert into dates values(?)";//自己写的通用增删改方法,数据库的连接,关闭都包含在内JDBCUtils.update(sql,dateStr);}@Testpublic void test2(){Connection conn = null;PreparedStatement ps = null;ResultSet rs = null;try {//1.获取数据库连接(封装好的获取链接的方法)conn = JDBCUtils.getConnection();//2.预编译sql获取PrepareStatement实例String sql = "select my_date from dates";ps = conn.prepareStatement(sql);//3.执行,并获取结果集rs = ps.executeQuery();//4.处理结果集if(rs.next()){
//                Date my_date = rs.getDate("my_date");Timestamp my_date = rs.getTimestamp("my_date");System.out.println(my_date);}} catch (Exception e) {e.printStackTrace();} finally {//5.关闭资源JDBCUtils.closeResource(conn,ps,rs);}}@Testpublic void test3(){String sql = "insert into dates values(?)";JDBCUtils.update(sql,"0000-00-00 00:00:00");}
}

数据表内容

JDBC学习笔记之java日期与mysql日期转换相关推荐

  1. JDBC学习笔记——Java语言与数据库的鹊桥

    JDBC学习笔记--Java语言与数据库的鹊桥     JDBC(Java DataBase Connectivity):SUN公司提供的 一套操作数据库的标准规范,说白了就是用Java语言来操作数据 ...

  2. JDBC学习笔记(1)---B站尚硅谷宋红康

    JDBC学习笔记(1)-B站尚硅谷宋红康 JDBC学习笔记(2)-B站尚硅谷宋红康 文章目录 软件架构方式介绍 JavaWeb技术概览 第1章:JDBC概述 1.1 数据的持久化 1.2 Java中的 ...

  3. JDBC学习笔记02【ResultSet类详解、JDBC登录案例练习、PreparedStatement类详解】

    黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...

  4. JDBC学习笔记01【JDBC快速入门、JDBC各个类详解、JDBC之CRUD练习】

    黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...

  5. 菜鸟学习笔记:Java提升篇4(容器4——Collections工具类、其他容器)

    菜鸟学习笔记:Java容器4--Collections工具类.其他容器 Collections工具类 容器其他知识点 队列Queue Enumeration接口 Hashtable Propertie ...

  6. JDBC 学习笔记(一)—— 基础知识 + 分页技术

    2019独角兽企业重金招聘Python工程师标准>>> 本文查阅方法:     1.查阅目录 -- 查阅本文目录,确定想要查阅的目录标题     2.快捷"查找" ...

  7. JDBC学习笔记03【JDBC事务管理、数据库连接池、JDBCTemplate】

    黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...

  8. 学习笔记之Java程序设计实用教程

    Java程序设计实用教程 by 朱战立 & 沈伟 学习笔记之JAVA多线程(http://www.cnblogs.com/pegasus923/p/3995855.html) 国庆休假前学习了 ...

  9. 菜鸟学习笔记:Java提升篇11(Java动态性1——注解与反射)

    Java提升篇11(Java其它高级特性--注解与反射) 注解(Annotation) JDK内置注解 自定义注解 元注解(meta-annotation) 反射(reflection) 动态语言 反 ...

最新文章

  1. 使用 Matplotlib 这么久,竟不知道数据可以动起来
  2. 为什么Python是最吸金编程语言?
  3. C++共享内存类封装
  4. tensorflow--forword(前向传播)
  5. 微课|中学生可以这样学Python(例5.10):字符串编码与加密
  6. HBASE学习笔记--概述
  7. ES(Elasticsearch)基本查询总结(含docker安装,python操作)
  8. js中DOM, DOCUMENT, BOM, WINDOW 区别
  9. csu 1196 - 去爬山
  10. To XSS or not ? 杂谈
  11. prerenderspaplugin可以抓取动态数据吗_RPA编程思路之数据抓取
  12. 经典脑成像研究的元分析示例(决策篇)
  13. 程序员2022年薪资出炉:一线城市薪资中位数已破1.5万元,你工资涨了吗?
  14. 路由器网速测试用哪个软件,怎么测网速比较准确,测试网速最准确的办法
  15. mcrpg职业系统服务器,我的世界MC-梦想大陆RPG服务器1.7.10
  16. 十个步骤带你了解TAPD——TAPD教程
  17. android studio hiera,速成意大利语第课 昨天晚上我在电视机前我们不能空手去那里.doc...
  18. 【代码随想录】【LeetCode】自学笔记07 - 栈和队列
  19. 巨头的工业互联网:在“黑灯工厂”探寻制造业之光
  20. 腾讯Android面试:Handler中有Loop死循环,为什么没有阻塞主线程,原理是什么

热门文章

  1. unity - 打出的IPA包太大
  2. EOJ Monthly 2021.1
  3. 数字中国建设意义和面临的挑战
  4. mysql中varbinary什么意思_MySQL中的数据类型binary和varbinary详解
  5. -17的计算机编码,大众电脑编码大全
  6. 设计原汁原味的 Windows Phone 应用
  7. 了解MOS管开通和关断过程原理特性分析
  8. nike air max 1 leopard internationaal meest
  9. MySQL数据库-删除表中的数据详解
  10. Android Studio导入项目提示“Unrecognized Android Studio”