我们现在的框架是JSF+Spring+Hibernate.
public List delCustomerLastTwelveMonth() {
List a = (List) new java.util.ArrayList();
Calendar c = Calendar.getInstance();
for (int i = 0; i < 12; i++) {
c.add(Calendar.MONTH, 0);
Date after = c.getTime();
c.add(Calendar.MONTH, -1);
Date before = c.getTime();
int number = doSomethingAboutDDate(before, after);
//调用函数doSomethingAboutDDate
a.add(number);
}
return a;
}
//实现一个月删除的用户数,调用此函数后可以用循环实现12个月
private int doSomethingAboutDDate(Date startdate, Date enddate) {
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String hql = " from TbDelCustomer u where" + " u.DDelDate > '"
+ dateFormat.format(startdate) + "' and u.DDelDate < '"
+ dateFormat.format(enddate) + "' ";
List users = this.getHibernateTemplate().find(hql);
return users.size();
}
//过去12个月每月新增的人数
public List newCustomerLastTwelveMonth() {
List a = (List) new java.util.ArrayList();
Calendar c = Calendar.getInstance();
for (int i = 0; i < 12; i++) {
c.add(Calendar.MONTH, 0);
Date after = c.getTime();
c.add(Calendar.MONTH, -1);
Date before = c.getTime();
int number = doSomethingAboutADate(before, after);
a.add(number);
}
return a;
}
//此函数能统计出每个月增加的用户数,同样可以调用后用循环实现12个每个月新增人数
private int doSomethingAboutADate(Date startdate, Date enddate) {
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String hql = " from TbCustomer u where" + " u.DCreateDate > '"
+ dateFormat.format(startdate) + "' and u.DCreateDate < '"
+ dateFormat.format(enddate) + "' ";
List users = this.getHibernateTemplate().find(hql);
return users.size();
}
//查询订单成功数目小于successfulOrder而生成订单数大于totalOrder的注册用户
public List searchCustomerByOrder(int successfulOrder, int totalOrder) {
// TODO Auto-generated method stub
String hql = "select l.ICustomerId ,l.CMobileNum,l.CCustomerName,u.IOrderCount," +
"u.IOrderOkCount from TbCustomerOrderLog u,TbCustomer l where u.ICustomerId=l.ICustomerId and u.IOrderCount>"
+ totalOrder + " and u.IOrderOkCount<" + successfulOrder;
Session session = (Session) getHibernateTemplate().getSessionFactory()
.openSession();
Query q = session.createQuery(hql);
List list = q.list();
return list;
}
//根据电话号码查询Customer的所有信息
public List searchCustomerByTelNumber(final String telNumber, final int startRow,final int pageSize) {
// TODO Auto-generated method stub
try {
return (List) getHibernateTemplate().execute(
new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException {
String k = "'%" + telNumber + "%'";
String hql = " from TbCustomer u where u.CMobileNum like "+k;
List queriedResult = session.createQuery(hql)
.setFirstResult(startRow).setMaxResults(
pageSize).list();
Hibernate.initialize(queriedResult);
return queriedResult;
}
});
} catch (RuntimeException re) {
throw re;
}
}
//按电话号码查询,相匹配的总数。此函数总要是为JSF层的分页做准备
public int getCustomerRowCount(final String telNumber)
{
// TODO Auto-generated method stub
String k = "'%" + telNumber + "%'";
String hql="select count(*) from TbCustomer u where u.CMobileNum like "+k;
return (Integer)this.getHibernateTemplate().find(hql).get(0);
}
//给定月份内没有任何订单的用户。比如,传参是3,表示的就是距现在三个月内没有任何订单用户,返回用户的姓名和电话号码,封装成List.
public List searchNoOrderCustomer(int certainMouth) {
Date date1 = aboutFindDate(certainMouth);
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String hql = "select l.CMobileNum ,l.CCustomerName from TbCustomerOrderLog u ,TbCustomer l where u.ICustomerId=l.ICustomerId and u.DLastOkOrderDate< '"
+ dateFormat.format(date1) + "' ";
Session session = (Session) getHibernateTemplate().getSessionFactory()
.openSession();
Query q = session.createQuery(hql);
List list = q.list();
return list;
}
}
//这个函数主要是给上个函数(给定月份没有订单的用户),此函数能将时间返回到我们所需要的点。假设我们输入3,而我们的现在的时间点2007年08月01日,通过这个函数,我们就能得到时间是2007年05月01日。
相关推荐
11.1.2 Java时间和日期类型的Hibernate映射类型 11.1.3 Java大对象类型的Hibernate映射类型 11.1.4 JDK自带的个别Java类的Hibernate映射类型 11.1.5 使用Hibernate内置映射类型 11.2 客户化映射类型 ...
11.1.2 Java时间和日期类型的Hibernate映射类型 11.1.3 Java大对象类型的Hibernate映射类型 11.1.4 JDK自带的个别Java类的Hibernate映射类型 11.1.5 使用Hibernate内置映射类型 11.2 客户化映射类型 ...
11.1.2 Java时间和日期类型的Hibernate映射类型 11.1.3 Java大对象类型的Hibernate映射类型 11.1.4 JDK自带的个别Java类的Hibernate映射类型 11.1.5 使用Hibernate内置映射类型 11.2 客户化映射类型 ...
11.1.2 Java时间和日期类型的Hibernate映射类型 11.1.3 Java大对象类型的Hibernate映射类型 11.1.4 JDK自带的个别Java类的Hibernate映射类型 11.1.5 使用Hibernate内置映射类型 11.2 客户化映射类型 ...
Java 的16 进制与字符串的相互转换函数 JAVA 时间格式化处理 将毫秒转化为日期 文本的倒序输出 判断一个数字是奇数还是偶数 用Hibernate 实现分页 35 选7 彩票程序 获取GMT8 时间 中文乱码转换 Big5 字与Unicode 的...
JSF+Spring+JPA以我个人看来,应该说是Struts2+Spring+...JSF可以采用事件监听机制,控件(JSF里面叫做控件)被触发了某些时间,直接优雅的和POJO进行了交互,配合ajax4jsf,处理大量的控件的事件是很简洁方便的。
该项目是从另一个开发中的项目中提取的。 我这样做是希望对像我这样的人有所帮助。 进行函数式编程时不会认为ORM消失的人。 我已经做了很多研究,以使基于我的scala项目的持久层正确无误。 我得出的结论是,ORM在...
默认函数Hibernate一段时间,以毫秒为单位。 但也可能需要不同的睡眠功能。 异步/等待 可以使用 async / await 等待睡眠定时器。 const { sleep } = require ( 'sleepjs' ) const myFunction = async ( ) => { ...
《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》重点讲解了Struts 2、Speing和HIbernate框架的基础知识和高级技术,如Sruts 2中的*、类型转换、国际化和标签等,HIbe rna{e的会话、0/R映射和...
《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》重点讲解了Struts 2、Speing和HIbernate框架的基础知识和高级技术,如Sruts 2中的*、类型转换、国际化和标签等,HIbe rna{e的会话、0/R映射和...
JAVA时间格式化处理 ,将毫秒转化为日期, 文本的倒序输出 ,判断一个数字是奇数还是偶数 ,用Hibernate实现分页, 35选7彩票程序 ,获取GMT8时间, 中文乱码转换 ,小标签 ,Big5字与Unicode的互换, 取得服务器...
钟表匠 一个睡眠感知 sleep() 函数,如果系统进入Hibernate状态,它不会暂停(太长时间)。
列表框中双击某一个函数名,代码编辑区将会自动输入"函数名()",如果这个函数有参数光标定位于 括号中,否则定位到括号外. 3.输入"this."时,会显示当前类和超类的所有相关函数和属性. 4.输入"new "时,会显示当前类...
此函数本身不会进行任何爬网,因为由于已连接到API网关,因此它需要在30秒内返回,并且爬网可能需要更长的时间。run_crawler 该函数由push_hook函数调用。 首先,它Hibernate了几分钟,使Jekyll有机会为Wiki构建...
列表框中双击某一个函数名,代码编辑区将会自动输入"函数名()",如果这个函数有参数光标定位于 括号中,否则定位到括号外. 3.输入"this."时,会显示当前类和超类的所有相关函数和属性. 4.输入"new "时,会显示当前类所有...
处理数字、日期和时间。 3.使用集合、数组和其他类型实现数据的结构化。 4.面向对象技术和函数编程技术。 5.目录和文件系统运算符。 6.使用图形、视频和音频。 7.GUI开发,包括JavaFX和处理器。 8....