论坛首页 Web前端技术论坛

extJs和javaEE

浏览 6115 次
锁定老帖子 主题:extJs和javaEE
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (5)
作者 正文
   发表时间:2008-07-25  

  一直想写个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继承,这样就不用每个都写这多东西了

......先这多吧,等下在继续...待续......

 

 

   发表时间:2009-02-13  
没有extjs的事啊?
0 请登录后投票
   发表时间:2009-06-18  
你说的extjs呢?
0 请登录后投票
   发表时间:2009-06-26  
quxiuer 写道
你说的extjs呢?

帖子还没写完呢,不要急啊
0 请登录后投票
   发表时间:2009-06-28  
同学...发帖是要负责的...je的质量啊就这样被...
取个这么大的题目...就算你补全了...也定多叫ext+ssh单表CRUD嘛...
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics