package com.foshanshop.ejb3.impl;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import com.foshanshop.ejb3.QueryDAO;
import com.foshanshop.ejb3.bean.Order;
import com.foshanshop.ejb3.bean.OrderItem;
import com.foshanshop.ejb3.bean.Person;
import com.foshanshop.ejb3.bean.SimplePerson;
@Stateless
@Remote ({QueryDAO.class})
public class QueryDAOBean implements QueryDAO {
@PersistenceContext
protected EntityManager em;
public void initdate() {
try {
Query query = em.createQuery("select count(p) from Person p");
Object result = query.getSingleResult();
if (result == null || Integer.parseInt(result.toString()) == 0) {
// 没有数据时,插入几条数据用作测试
// ===================================
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Person person = new Person("liujun", true, new Short("26"),
formatter.parse("1980-9-30"));
Set<Order> orders = new HashSet<Order>();
Order order1 = new Order(new Float("105.5"), person, new Date());
order1.addOrderItem(new OrderItem("U盘", new Float("105.5")));
Order order2 = new Order(new Float("780"), person, new Date());
order2.addOrderItem(new OrderItem("MP4", new Float("778")));
order2.addOrderItem(new OrderItem("矿泉水", new Float("2")));
orders.add(order1);
orders.add(order2);
person.setOrders(orders);
Person person1 = new Person("yunxiaoyi", false,
new Short("23"), formatter.parse("1983-10-20"));
orders = new HashSet<Order>();
order1 = new Order(new Float("360"), person1, new Date());
order1.addOrderItem(new OrderItem("香水", new Float("360")));
order2 = new Order(new Float("1806"), person1, new Date());
order2.addOrderItem(new OrderItem("照相机", new Float("1800")));
order2.addOrderItem(new OrderItem("5号电池", new Float("6")));
orders.add(order1);
orders.add(order2);
person1.setOrders(orders);
// =====================================
Person person2 = new Person("zhangming", false,
new Short("21"), formatter.parse("1985-11-25"));
orders = new HashSet<Order>();
order1 = new Order(new Float("620"), person2, new Date());
order1.addOrderItem(new OrderItem("棉被", new Float("620")));
order2 = new Order(new Float("3"), person2, new Date());
order2.addOrderItem(new OrderItem("可乐", new Float("3")));
orders.add(order1);
orders.add(order2);
person2.setOrders(orders);
em.persist(person2);
em.persist(person1);
em.persist(person);
}
} catch (Exception e) {
e.printStackTrace();
}
}
public String ExecuteQuery(int index) {
String result = "";
switch(index){
case 1:
result = this.NameQuery();
break;
case 2:
result = this.PositionQuery();
break;
case 3:
result = this.QueryOrderBy();
break;
case 4:
result = this.QueryPartAttribute();
break;
case 5:
result = this.QueryConstructor();
break;
case 6:
result = this.QueryAggregation();
break;
case 7:
result = this.QueryGroupBy();
break;
case 8:
result = this.QueryGroupByHaving();
break;
case 9:
result = this.QueryLeftJoin();
break;
case 10:
result = this.QueryInnerJoin();
break;
case 11:
result = this.QueryInnerJoinLazyLoad();
break;
case 12:
result = this.QueryJoinFetch();
break;
case 13:
result = this.QueryEntityParameter();
break;
case 14:
result = this.QueryBatchUpdate();
break;
case 15:
result = this.QueryBatchRemove();
break;
case 16:
result = this.QueryNOTOperate();
break;
case 17:
result = this.QueryBETWEENOperate();
break;
case 18:
result = this.QueryINOperate();
break;
case 19:
result = this.QueryLIKEOperate();
break;
case 20:
result = this.QueryISNULLOperate();
break;
case 21:
result = this.QueryISEMPTYOperate();
break;
case 22:
result = this.QueryEXISTSOperate();
break;
case 23:
result = this.QueryStringOperate();
break;
case 24:
result = this.QueryMathLOperate();
break;
case 25:
result = this.QuerySubQueryOperate();
break;
case 26:
result = this.QueryNoneReturnValueStoreProcedure();
break;
case 27:
result = this.QuerySingleObjectStoreProcedure();
break;
case 28:
result = this.QueryStoreProcedure();
break;
case 29:
result = this.QueryPartColumnStoreProcedure();
break;
}
return result;
}
private String NameQuery(){
//获取指定personid的人员
Query query = em.createQuery("select p from Person p where p.personid=:Id");
query.setParameter("Id",new Integer(1));
List result = query.getResultList();
StringBuffer out = new StringBuffer("*************** NameQuery 结果打印 ****************<BR>");
if (result!=null){
Iterator iterator = result.iterator();
while( iterator.hasNext() ){
Person person= (Person)iterator.next();
out.append(person.getName()+ "<BR>");
}
}
return out.toString();
}
private String PositionQuery(){
//获取指定personid的人员
Query query = em.createQuery("select p from Person p where p.personid=?1");
query.setParameter(1,new Integer(1));
List result = query.getResultList();
StringBuffer out = new StringBuffer("*************** PositionQuery 结果打印 ****************<BR>");
if (result!=null){
Iterator iterator = result.iterator();
while( iterator.hasNext() ){
Person person= (Person)iterator.next();
out.append(person.getName()+ "<BR>");
}
}
return out.toString();
}
private String QueryOrderBy(){
没有合适的资源?快使用搜索试试~ 我知道了~
EJB课堂演示.rar
共314个文件
java:69个
class:46个
mf:39个
需积分: 0 1 下载量 179 浏览量
2011-03-01
11:50:00
上传
评论
收藏 237KB RAR 举报
温馨提示
EJB是sun的服务器端组件模型,最大的用处是部署分布式应用程序,类似微软的.net技术。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。
资源详情
资源评论
资源推荐
收起资源包目录
EJB课堂演示.rar (314个子文件)
Customer.class 3KB
Student.class 3KB
Item.class 3KB
UserDaoBean.class 2KB
Cate.class 2KB
CustomerDaoBean.class 2KB
StudentManagerBean.class 2KB
HelloAction.class 2KB
IDCard.class 2KB
Order.class 2KB
FacadeBean.class 2KB
CateDaoBean.class 2KB
User.class 2KB
HelloWorld.class 1KB
HelloWorldTest.class 1KB
JbossEJBFactory.class 1KB
NameIntercepter.class 1004B
BusinessBean3.class 992B
HelloWorld.class 903B
HelloWorld.class 903B
HelloBean.class 877B
BusinessBean.class 870B
BusinessBean.class 823B
BusinessBean2.class 791B
UserDao.class 490B
StudentDao.class 413B
CustomerDao.class 344B
CateDao.class 320B
HelloWorldRemote.class 277B
HelloWorldLocal.class 274B
IHelloWorld.class 175B
IHelloWorld.class 175B
Business.class 169B
IHello.class 165B
HelloWorldLocale.class 156B
HelloWorldRemote.class 156B
HelloWorldRemote.class 156B
HelloWorldLocale.class 156B
Business.class 151B
IFacade.class 150B
BusinessRemote.class 149B
BusinessLocal.class 147B
FacadeRemote.class 144B
FacadeLocal.class 142B
HelloRemote.class 141B
HelloLocal.class 139B
.classpath 5KB
.classpath 5KB
.classpath 5KB
.classpath 5KB
.classpath 5KB
.classpath 2KB
.classpath 2KB
.classpath 2KB
.classpath 2KB
.classpath 2KB
.classpath 2KB
.classpath 482B
.classpath 466B
.classpath 464B
.classpath 436B
.classpath 413B
.classpath 411B
.classpath 346B
.classpath 346B
.classpath 346B
.classpath 346B
.classpath 346B
.classpath 346B
.classpath 346B
.classpath 346B
Query.jar 14KB
CompositePK.jar 6KB
TransactionService.jar 5KB
bb.jar 4KB
aa.jar 3KB
aa.jar 3KB
Interceptor.jar 3KB
aa.jar 3KB
aa.jar 3KB
TimerService.jar 2KB
aa.jar 2KB
DependencyInjection.jar 2KB
HelloWorld.jar 493B
QueryDAOBean.java 35KB
Order.java 3KB
Student.java 2KB
HelloAction.java 2KB
Person.java 2KB
Customer.java 2KB
Flight.java 2KB
Item.java 2KB
Product.java 2KB
Order.java 2KB
IDCard.java 2KB
TransactionDAOBean.java 2KB
Cate.java 2KB
AirLine.java 2KB
AirLineDAOBean.java 2KB
AirtLinePK.java 1KB
共 314 条
- 1
- 2
- 3
- 4
cs_member
- 粉丝: 2
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0