extJs和javaEE
一直想写个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继承,这样就不用每个都写这多东西了
......先这多吧,等下在继续...待续......
下一篇: 营养成分从哪里来?不同食物的营养是不同的
推荐阅读
-
Linux下Nginx安装的方法(pcre和openssl)
-
用shell脚本实现自动切换内网和外网实现高可用
-
linux脚本实现自动发送和收取邮件的设置方法
-
Nginx和Apache几种防盗链配置方法实例
-
前端笔记之微信小程序(二){{}}插值和MVVM模式&数据双向绑定&指令&API
-
怎么在公众号里制作微信大转盘、刮刮卡和摇一摇抽奖活动
-
微信不能语音和视频聊天该怎么办?
-
Cesium区分单击【LEFT_CLICK】和双击事件【LEFT_DOUBLE_CLICK】
-
前端笔记之微信小程序(三)GET请求案例&文件上传和相册API&配置https
-
前端笔记之微信小程序(一)初识微信小程序&WXSS与CSS|WXML与HTML的差异&像素和DPR