1、在mysql中test数据库中新建一个表: Create Table CREATETABLE`riqi`(`id`int(11)NOTNULLAUTO_INCREMENT,`riqi`datetimeDEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=utf8
2、打开riqi表,输入3个数据,1个是“2020-01-01 01:01:01 ”,2个 是null,3个是“0000-00-00 00:00:00”.
3、打开eclipse这个工具,新建一个java项目riqi,如果不会mysql数据库的,看一下java连接mysql数据库这个文章。
4、在main方法内,连接mysql数据库:try { Class.forName猾诮沓靥("com.mysql.jdbc.Driver"); Connectio荏鱿胫协n conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8;","root","123456"); System.err.println(conn); } catch (ClassNotFoundException | SQLException e) { }
5、接下来,读取riqi表的数据,首先id=1的墙绅褡孛数据:看看结果是为2020-01-01 01:01:01Statement st=conn.createStatement(); ResultSet rs=st.executeQuery("select riqi from riqi where id=1"); while(rs.next()){ System.err.println(rs.getString(1)); } rs.close(); st.close();结果正确
6、接下来,读取riqi表的数据,首先id=2的数据:看看结果是为nullStatement st=conn.createStatement(); ResultSet rs=st.executeQuery("select riqi from riqi where id=2"); while(rs.next()){ System.err.println(rs.getString(1)); } rs.close(); st.close();结果正确
7、接下来,读取riqi表的数据,首先id=3的墙绅褡孛数据:看看结果是为0000-00-00 00:00:00Statement st=conn.createStatement(); ResultSet rs=st.executeQuery("select riqi from riqi where id=3"); while(rs.next()){ System.err.println(rs.getString(1)); } rs.close(); st.close();结果出现错误!Java识别不了“0000-00-00 00:00:00”这个数据!
8、Java存储日期型到mysql数据库中,错误的数据mysql会按"0000-00-00 00:00:00"这个数据处理。比如“2020-01-32”数据,在mysql会按"0000-00-00 00:00:00"这个数据处理。