您现在的位置是:主页 > news > 网站小游戏怎么做的/网络营销工资一般多少
网站小游戏怎么做的/网络营销工资一般多少
admin2025/6/25 8:28:09【news】
简介网站小游戏怎么做的,网络营销工资一般多少,谁有企业邮箱,一般购物网站有哪些模块在Java代码中,java.sql包原则上不能出现在DAO以外的地方。 数据库和java中的时间类型的对应关系 DATE->java.sql.Date TIME->java.sql.Time TIMESTAMP->java.sql.Timestamp java.sql包下给出三个与数据库相关的日期时间类型,分别是…
在Java代码中,java.sql包原则上不能出现在DAO以外的地方。
数据库和java中的时间类型的对应关系
DATE->java.sql.Date
TIME->java.sql.Time
TIMESTAMP->java.sql.Timestamp
java.sql包下给出三个与数据库相关的日期时间类型,分别是:
- Date:表示日期,只有年月日,没有时分秒。会丢失时间;
- Time:表示时间,只有时分秒,没有年月日。会丢失日期;
- Timestamp:表示时间戳,有年月日时分秒,以及毫秒。
Java中除了DAO以外的其他地方用到数据库对应的时间类型怎么办?例如domain部分(数据库对应的实体类:User)
这就需要将java.util.Date与java.sql.Date、java.sql.Time、java.sql.Timestamp之间进行转换
通过查看文档可知,java.util.Date是java.sql.Date、java.sql.Time、java.sql.Timestamp父类
java.sql.Date、Time、Timestamp -> java.util.Date
- 这一步不需要处理了:因为java.util.Date父类;
java.util.Date -> java.sql.Date、Time、Timestamp
- java.sql.Date、Time、Timestamp都拥有一个含有一个long类型的参数,代表毫秒值的构造函数
- 把util的Date转换成毫秒值
实例代码:
先在mysql中建立一张表
CREATE TABLE `dateTest` (`id` int(11) NOT NULL AUTO_INCREMENT,`d` date ,`t` time ,`ts` timestamp ,PRIMARY KEY (`id`)
);
在src目录下新建一个配置文件:jdbc.properties
diverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://locahost:3306/sql_test?useUnicode=true&characterEncoding=UTF8
username=root
password=123456
添加一个数据库连接工具类:jdbcUtils.java
public class jdbcUtils {private static final String dbconfig="jdbc.properties";private static Properties properties=new Properties();static {try {//获得jdbc配置文件流InputStream is=jdbcUtils.class.getClassLoader().getResourceAsStream(dbconfig);properties.load(is);} catch (IOException e) {throw new RuntimeException(e);}try {Class.forName(properties.getProperty("diverClassName"));} catch (ClassNotFoundException e) {throw new RuntimeException(e);}}public static Connection getConnection() throws SQLException {return DriverManager.getConnection(properties.getProperty("url"),properties.getProperty("username"),properties.getProperty("password"));}}
建立一个测试类:test.java
public class test {@Testpublic void fun1() throws SQLException {//获取mysql 服务器的连接Connection cn= jdbcUtils.getConnection();String sql="insert into dateTest(d,t,ts) values(?,?,?)";PreparedStatement ps=cn.prepareStatement(sql);//创建一个java.util.Date对象,存放当前时间java.util.Date date=new java.util.Date();//因为java.sql.Date是java.util.Date子类ps.setDate(1,new java.sql.Date(date.getTime()));//丢失时分ps.setTime(2,new java.sql.Time(date.getTime()));//丢失年月ps.setTimestamp(3,new java.sql.Timestamp(date.getTime()));//执行ps.executeUpdate();}@Testpublic void fun2() throws SQLException {//获取mysql 服务器的连接Connection cn= jdbcUtils.getConnection();String sql="select * from dateTest";PreparedStatement ps=cn.prepareStatement(sql);//创建一个java.util.Date对象,存放当前时间java.util.Date date=new java.util.Date();ResultSet rs=ps.executeQuery();while(rs.next()){java.util.Date d1=rs.getDate("d");java.util.Date d2=rs.getDate("t");//因为只有时分,转换成年月就是起始时间:1970java.util.Date d3=rs.getDate("ts");System.out.println(d1+","+d2+","+d3);}}}
结果:
数据中
控制台:
2019-03-24,1970-01-01,2019-03-24