crud的问题 现在项目中基本全是action调用crud服务,也没建模什么的.不知道大家是怎么设计的.感觉crud的模式改起来比较麻烦,请高手指教. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 嫌麻烦,用spring+hibernate,一个反射一个orm。 可以采用spring+ibatis,单表的crud可以不写任何代码复杂的可以采用组建的方式 现在项目中就是用spring+hibernat.一张表对应一个vo,服务就是这个vo的crud.上层服务包含业务逻辑.但是总感觉这样的设计不是很理想. 你可以写一个通用的父类action,里面包含crud,然后在excute里面用MethodUtils.invokeExactMethod(actionobj, action, actParam, paramType);actionobj:对象;action:执行方法名称actParam:参数paramType参数类型执行其不同的方法。然后在crud里面读取不同的hql语句执行,如果使用hibernate可能有点麻烦,你可以借鉴ibatis的动态sql的形式即,放执行的sql配置在sqlmap中,通过共有的开放接口insert("sql节点名称",参数对象),update,delet等。sqlmap中配置<insert id="sql节点名称" paramterClass="参数对象">你执行的sql。</insert>这样的设计就避免了针对每个业务都写action,直接一个action就可以完成所以的任务,对于hibernate也可以这样,把你的hql都写在一些*。properties中,然后读取properties中的节点,获得hql,传递参数给session.save,或者executeupdate等。 学习java (在线痴等)大家帮我看下这句话是什么意思?谢谢 关于Struts2验证框架 是否太鸡肋? 请帮帮我! lucene4.4复合模糊查询 关于环境变量,究竟应该怎么设置?新手上路~~~ apache+jdk+resin配置的jsp环境,连接数据库成功,不过浏览器的标题栏出现???JSP????MYSQL?????,这是怎么一回事? 关于Struts的Action 类中的一些Method的问题 请大虾帮忙讲一些 谢谢? 菜鸟问题,关于super 如何改动包的名字? hibernate 配置 java如何释放资源问题!
复杂的可以采用组建的方式
一张表对应一个vo,服务就是这个vo的crud.
上层服务包含业务逻辑.
但是总感觉这样的设计不是很理想.
MethodUtils.invokeExactMethod(actionobj,
action,
actParam, paramType);
actionobj:对象;
action:执行方法名称
actParam:参数
paramType参数类型
执行其不同的方法。
然后在crud里面读取不同的hql语句执行,如果使用hibernate可能有点麻烦,你可以借鉴ibatis的动态sql的形式即,放执行的sql配置在sqlmap中,通过共有的开放接口insert("sql节点名称",参数对象),update,delet等。sqlmap中配置
<insert id="sql节点名称" paramterClass="参数对象">
你执行的sql。
</insert>
这样的设计就避免了针对每个业务都写action,直接一个action就可以完成所以的任务,对于hibernate也可以这样,把你的hql都写在一些*。properties中,然后读取properties中的节点,获得hql
,传递参数给session.save,或者executeupdate等。