发布一篇hibernate3进修条记(五) saveOrUpdate办法
到时我们不用学struts,不用学spring,不用学Hibernate,只要能把jsf学会了,完全可以替代所有的框架,包括AJAX,都知道AJAX并不是新技术,虽说我没深入学习jsf但我认为jsf应该已经能通过其它技术替代AJAX,实现无缝刷新。仍是参考后面的例子:http://blog.csdn.net/kunshan_shenbin/archive/2008/09/02/2864883.aspx
修正User.hbm.xml文件以下:
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEhibernate-mappingPUBLIC
"-//Hibernate/HibernateMappingDTD3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<classname="com.hb3.pack_01.model.User"table="user"
dynamic-insert="true"
dynamic-update="true"
>
<idname="id"column="id"type="java.lang.Integer"unsaved-value="null">
<generatorclass="native"/>
</id>
<propertyname="name"column="name"type="java.lang.String"/>
<propertyname="age"column="age"type="java.lang.Integer"/>
</class>
</hibernate-mapping>
测试代码:
packagecom.hb3.pack_01;
importjava.util.Iterator;
importjava.util.List;
importorg.hibernate.Criteria;
importorg.hibernate.Query;
importorg.hibernate.Session;
importorg.hibernate.SessionFactory;
importorg.hibernate.Transaction;
importorg.hibernate.cfg.Configuration;
importcom.hb3.pack_01.model.User;
publicclassBusinessService{
publicstaticvoidmain(String[]args){
Configurationconfig=newConfiguration().configure();
SessionFactorysessionFactory=config.buildSessionFactory();
Sessionsession=sessionFactory.openSession();
Criteriacriteria=session.createCriteria(User.class);
List<?>users=criteria.list();
Iterator<?>iterator=users.iterator();
System.out.println("id name/age");
while(iterator.hasNext()){
Useruser=(User)iterator.next();
System.out.println(user.getId()+" "+user.getName()+"/"+user.getAge());
}
session.close();
System.out.println("========================================");
session=sessionFactory.openSession();
Useruser=newUser();
user.setId(2);
user.setName("chenyan");
user.setAge(newInteger(24));
Transactiontx=session.beginTransaction();
session.saveOrUpdate(user);
tx.commit();
System.out.println("========================================");
user=newUser();
user.setName("yangye");
user.setAge(newInteger(23));
tx=session.beginTransaction();
session.saveOrUpdate(user);
tx.commit();
System.out.println("========================================");
Queryquery=session.createQuery("fromUser");
users=query.list();
iterator=users.iterator();
System.out.println("id name/age");
while(iterator.hasNext()){
user=(User)iterator.next();
System.out.println(user.getId()+" "+user.getName()+"/"+user.getAge());
}
session.close();
sessionFactory.close();
}
}
<p>
java主要分三块,j2se:java的基础核心语言。j2me:java的微型模块,专门针对内存小,没有持续电源等小型设备。j2ee:java的企业模块,专门针对企业数据库服务器的连接维护。 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。 设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
页:
[1]