原创作者: andrew.yulong
阅读:3083次
评论:5条
更新时间:2011-05-26
一直想写个extjs和javaee具体怎么集成的例子.但是太懒了,公司的事情又狠多,一直不想敲键盘.但鉴于下个星期就要开始搞ror了,所以还是决定写一篇,一来可以让更多的新手少走弯路(其实我也是新手),而来以后可以温习温习.孔子都说温固而知新.
先描述一下这个例子吧,前台当然是用ext了,也用到了dwr,后台嘛就是现在最流行的框架组合吧.(马上就要告别他们了),struts2,hibernate3,spring2.数据库oracle,不过用什么都无所谓了.例子的功能就是一个表的增删改查吧.
首先我喜欢从pojo开始写起.
package com.andrew.model; import java.io.Serializable; import java.util.Date; public class User implements Serializable { /** * */ private static final long serialVersionUID = 1L; /** * 主键 */ private Long id; /** * 用户名 */ private String username; /** * 密码 */ private String password; /** * 生日 */ private Date btd; /** * 简历 对应数据库中的colb字段 * 要注意几个位置 * 1. 确定你用的oracle驱动是10g的 * 2. 在模型对应hbm文件映射type="text" * 3. 在hibernate的配置信息里加上hibernate.connection.SetBigStringTryClob=true * 这样一来数据库的colb字段就映射到了string,读写操作和string一样 */ private String resume; public Date getBtd() { return btd; } public void setBtd(Date btd) { this.btd = btd; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getResume() { return resume; } public void setResume(String resume) { this.resume = resume; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } }
pojo写完了开始写hbm.xml
<?xml version="1.0" encoding='UTF-8'?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" > <hibernate-mapping package="com.andrew.model"> <class name="User" table="USERS"> <id name="id" column="ID" type="java.lang.Long"> <generator class="native"/> </id> <property name="username" column="USERNAME" type="java.lang.Long" not-null="true" /> <property name="password" column="PASSWORD" type="java.lang.Long" not-null="true" /> <property name="btd" column="BTD" type="Date" not-null="true" /> <property name="resume" column="RESUME" type="text" /> </class> </hibernate-mapping>
OK,接下来是什么?你们猜猜,答案是DAO,dao的实现就不写了啊.(偷懒- -!!!)
public interface IUserDao{ /** * 分页的方法 * @param start * @param limit * @return */ public List<User> loadUser(String start,String limit); /** * 保存 * @param bean */ public void saveBean(User bean); /** * 修改 * @param bean */ public void updateBean(User bean); /** * 删除 * @param bean */ public void deleteBean(User bean); }
然后是service,这里没有什么业务逻辑,所以大家把daocopy到service里面去就可以了,这里也不写出来了哦...,这与spring的配置文件,我想也不用多写吧,都是写熟了copy的东西.想要的话在告诉我.
接下来我们直接来写action.
大家想想useraction里面都需要写什么
1.首先需要一个service的对象这个是肯定的
2.需要一个list来存放结果集
3,还需要一个user的实例
4.一个tota来存放总的记录集数
5.一个start来存放从第多少条开始查
6.一个limit来存放要查到多少条
7.其实上面的东西可以封装起来,写个baseaction,在让你的action继承,这样就不用每个都写这多东西了
......先这多吧,等下在继续...待续......
5 楼 XMLReader_123 2013-05-29 17:15
4 楼 mingwen131171 2011-10-28 13:31
3 楼 cry615 2011-09-12 02:32
2 楼 wzglovejava 2010-06-01 14:06
1 楼 zhangyongfeng 2010-05-17 14:04