欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

extJs和javaEE

程序员文章站 2022-06-23 19:49:50
...

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

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