- package com.wyx.hibernate;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import java.util.Random;
- import org.hibernate.Session;
- import com.wyx.hibernate.utils.HibernateUtils;
- public class InitData {
- public static void main(String[] args) {
- addStudent();
- addwuye();
- }
- public static void addStudent(){
- for(int i = 1; i <= 10; i++){
- Group group = new Group();
- group.setName("班级"+i);
- for(int j = 1; j<= 10; j++){
- User user = new User();
- //调用生成随机时间的方法
- user.setCreateTime(randomDate("2008-8-8","2011-3-28"));
- user.setName("班级"+i+"的学生" + j );
- user.setGroup(group);
- Session session = HibernateUtils.getSession();
- session.beginTransaction();
- try {
- session.save(user);
- session.getTransaction().commit();
- } catch (Exception e) {
- e.printStackTrace();
- session.getTransaction().rollback();
- }finally{
- HibernateUtils.closeSession(session);
- }
- }
- }
- }
- public static void addwuye(){
- for(int i = 1; i <= 10; i++){
- User user = new User();
- user.setCreateTime(new Date());
- user.setName("无业游民"+i);
- Session session = HibernateUtils.getSession();
- session.beginTransaction();
- try {
- session.save(user);
- session.getTransaction().commit();
- } catch (Exception e) {
- e.printStackTrace();
- session.getTransaction().rollback();
- }finally{
- HibernateUtils.closeSession(session);
- }
- }
- }
- //生成随机时间的方法
- private static Date randomDate(String beginDate, String endDate) {
- try {
- SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
- Date start = format.parse(beginDate);// 构造开始日期
- Date end = format.parse(endDate);// 构造结束日期
- // getTime()表示返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
- if (start.getTime() >= end.getTime()) {
- return null;
- }
- long date = random(start.getTime(), end.getTime());
- return new Date(date);
- } catch (Exception e) {
- e.printStackTrace();
- }
- return null;
- }
- private static long random(long begin, long end) {
- long rtn = begin + (long) (Math.random() * (end - begin));
- // 如果返回的是开始时间和结束时间,则递归调用本函数查找随机值
- if (rtn == begin || rtn == end) {
- return random(begin, end);
- }
- return rtn;
- }
- }
java 随机生成自定义范围的时间
最新推荐文章于 2022-07-13 16:23:10 发布