“DAO类”: net.newxy.dbm.BaseDAO或其子类;
“通用持久类”: net.newxy.dbm.DynaDto;
“通用动态formBean类”: net.newxy.struts_faces.DynaFormBean。
《DAO类+通用持久类,实现数据增、删、改、查》(又名《 不同于hibernate,利用通用持久类实现数据增、删、改、查,可极大提高开发效率 》)文章中介绍的数据增、删、改、查方法比hibernate的方法已简单很多,如果引入通用动态formBean类,开发效率会有更大提高。
net.newxy.struts_faces.DynaFormBean类的类图
一、利用通用动态formBean类,实现数据增、删、改
struts的ActionServlet将用户submit来的数据绑定到net.newxy.struts_faces.DynaFormBean对象中,在后台,通过调用net.newxy.struts_faces.DynaFormBean的public Object getDto()、public Object get(String name) 方法将上传的数据提出,net.newxy.struts_faces.DynaFormBean起作传送数据的作用。
(1)数据插入:Object update(Object dto) throws Exception;
举例:
public ActionForward update(ActionMapping actionMapping, ActionForm actionForm,
HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) throws Exception{
......
net.newxy.struts_faces.DynaFormBean form=( net.newxy.struts_faces.DynaFormBean)actionForm;
try{
net.newxy.dbm.DynaDto dynaDto=( net.newxy.dbm.DynaDto)form.getDto();
net.newxy.dbm.BaseDAO dao=new net.newxy.dbm.BaseDAO();
dynaDto.set_table("table1");//设置表名
Object result=dao.update(dynaDto);
}catch(Exception e){
......
}
......
}
jsp页面不上传主关键字段值,主关键字段值会自动得到,是原有最大值加一。
如果jsp页面上传了主关键字段值,如:表单中有<html:text property=”id” />用户键入了id值。newxy(新坐标)会检查赋给的主关键字值是否已存在,如果存在,作更新(update)操作,如果不存在,作插入(insert)操作。
判断是更新还是插入操作,可以根据返回的result值来判断,如果result值为空,是作更新操作,如果result不空是作插入操作。
Object result=dao.update(dynaDto);
如果想需要知道自动赋给的主关键字段值,可以用如下方法:
Object result=dao.update(dynaDto);
Object idValue=null;
If(result!=null)
idValue=((DynaDto)result).get(“id”);
idValue就是自动赋给的主关键字段值。
(2)数据更新:
举例:
public ActionForward update(ActionMapping actionMapping, ActionForm actionForm,
HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) throws Exception{
......
DynaFormBean form=(DynaFormBean)actionForm;
try{
DynaDto dynaDto=(DynaDto)form.getDto();
net.newxy.dbm.BaseDAO dao=new net.newxy.dbm.BaseDAO();
dynaDto.set_table("table1");
Object result=dao.update(dynaDto);
}catch(Exception e){
......
}
......
}

本文介绍了如何利用newxy技术中的DAO类、通用持久类DynaDto和动态formBean类DynaFormBean,实现数据库的增删改查操作。通过DynaFormBean的getDto()、get(String name)等方法,结合BaseDAO的update方法,实现了数据的插入和更新。在更新操作中,根据返回结果判断是插入还是更新。在删除操作中,通过formBean获取数据并删除。此外,还展示了如何利用DynaFormBean进行多项查询和查询结果的展示。
最低0.47元/天 解锁文章
1259

被折叠的 条评论
为什么被折叠?



