原创作者: andrew.yulong   阅读:3035次   评论: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 条 请登录后发表评论
5 楼 XMLReader_123 2013-05-29 17:15
一点extjs都没有呀!!
4 楼 mingwen131171 2011-10-28 13:31
前面觉得还挺详细的。到后面就想LZ很赶时间似的。一笔带过了。
3 楼 cry615 2011-09-12 02:32
,太过简单了..
2 楼 wzglovejava 2010-06-01 14:06
真是够懒的,extjs当中的重要代码都没有吗?你写的这些是最基础的,反而是那些重要的没了,有点不负责任的感觉喽。。。
1 楼 zhangyongfeng 2010-05-17 14:04
  怎么写一半就没了?

发表评论

您还没有登录,请您登录后再发表评论

文章信息

  • eimhee在2009-07-21创建
  • eimhee在2011-05-26更新
  • 标签: extjs javaee
Global site tag (gtag.js) - Google Analytics