DAO类+通用持久类+通用动态formBean类,实现数据增、删、改、查newxy(新坐标)技术运用之三

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

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类,实现数据增、删、改

strutsActionServlet将用户submit来的数据绑定到net.newxy.struts_faces.DynaFormBean对象中,在后台,通过调用net.newxy.struts_faces.DynaFormBeanpublic 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){

        ......

}

......

}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值