SSH新学,关于面向对象的看法
流程:model-->dao-->service-->impService-->action
如果只是操作单个的一个表,比如user表,则都写到user的流程中
如果要操作俩个表,+manage,就要用到 关联 了,这个时候操作起来还是对一个表,因为user表里面包含另一个表mange。
既然是面向对象,那么userModel-->userDAO-->userService-->userImpService-->userAction 等等一切的返回值都是user 或者是List<user>
但是遇到这样一个问题:
情况一:
public List<Xmxx> findXmxxsByGksh(){
String hql="from Xmxx where DM_ZT_GKSH = 2 ";
return this.xmxxDAO.findList(hql);
}
这个应该没有问题,this.xmxxDAO.findList(hql);返回的是List<Xmxx>
情况二:
public List<Xmxx> findXmxxsByZt_sq(String USERNAME){
String hql="from Xmxx x inner join x.yhxxs y where DM_ZT_TX in (0,1) and y.USERNAME=:USERNAME ";
List<Xmxx> xmxxList=new ArrayList<Xmxx>();
Map map=new HashMap();
map.put("USERNAME", USERNAME);
List list=this.yhxxDAO.findListOfMap(hql, map);
if(list!=null){
Iterator it=list.iterator();
while(it.hasNext()){
Object[] obj=(Object[])it.next();
xmxxList.add((Xmxx)obj[0]);
}
}
return xmxxList;
}
注意看这里List list=this.yhxxDAO.findListOfMap(hql, map),这样写不会报错。
如果把yhxxDAO去掉,只写this.findListOfMap(hql,map)也不会报错。
但是List<Xmxx> list=this.yhxxDAO.findListOfMap(hql, map),就会出错,提示cannot convert from List<Yhxx> to List<Xmxx>。
SSH新学,关于面向对象的看法的更多相关文章
- SSH新学
流程:model-->dao-->service-->impService-->action 如果只是操作单个的一个表,比如user表,则都写到user的流程中 如果要操作俩个 ...
- Web前端开发推荐阅读书籍
前言 前端工程师在中国兴起也就5年左右,以前公司里没有专门前端工程师的这个职位,很多前端方面的任务都是由全栈工程师来完成,有的基础一点的后台或者设计的帮助分担一些.但是随着互联网的快速发展,特别是所谓 ...
- 【推荐】JavaScript的那些书
又好久没写东西了,写上一篇的时候还以为接下来的工作会轻松一些,结果未从我所愿呐,又是一阵忙碌.而这段时间穿插着做了很多12年淘宝校园招聘的前端面试,很多同学都有问到,学校里没有前端的课程,那如何学习J ...
- Limu:有关JavaScript的那些值得一看的书
来源&作者:Limu 又好久没写东西了 ,写上一篇的时候还以为接下来的工作会轻松一些 ,结果未从我所愿呐 ,又是一阵忙碌.而这段时间穿插着做了很多12年淘宝校园招聘的前端面试 ,很多同学都有问 ...
- Limu:JavaScript的那些书
博主说:本博客文章来源包括转载,翻译,原创,且在文章内均有标明.鼓励原创,支持创作共享,请勿用于商业用途,转载请注明文章链接.本文链接:http://www.kein.pw/?p=50 去年(2012 ...
- 一个老牌程序员推荐的JavaScript的书籍,看了真的不后悔!
很多人问我怎么学前端?我的回答是:读书吧!相对于在网上学习,在项目中学习和跟着有经验的同事学习,书中有着相对完整的知识体系,每读一本好书都会带来一次全面的提高.而如果深一脚浅一脚的学习,写出代码的质量 ...
- java SSH框架详解(面试和学习都是最好的收藏资料)
Java—SSH(MVC)1. 谈谈你mvc的理解MVC是Model—View—Controler的简称.即模型—视图—控制器.MVC是一种设计模式,它强制性的把应用程序的输入.处理和输出分开.MVC ...
- SSH框架搭建和整合(struts2、spring4、hibernate5)
声明: 本博文是个人通过对ssh框架的学习.理解还有一些看法而描述出来的,可能有不足之处,请大家谅解,但希望能帮助到大家! 目的: 使初学者能更好的去了解SSH框架. 给以后的自己,也给别人一个参考. ...
- SSH面试集锦——不看后悔哦!
1. 谈谈你mvc的理解 MVC是Model-View-Controler的简称.即模型-视图-控制器.MVC是一种设计模式,它强制性的把应用程序的输入.处理和输出分开. MVC中的模型 ...
随机推荐
- MySQL->AUTO_INCREMENT[20180516]
MySQL表格中自增长主键AUTO_INCREMENT使用,实现序列的最简单的方式 创建一个AUTO_INCREMENT自增的表 mysql> create table seq_test( ...
- mysql 8 windows 版本zip方式安装步骤
mysql 8 windows 版本zip方式安装步骤(下载地址:https://dev.mysql.com/downloads/mysql/)1,解压ZIP文件到指定目录下:如D:\mysql-8. ...
- node创建服务器
//引入核心模块 const http = require('http'); //创建服务器 http.createServer((req,res)=>{ }).listen(3000); // ...
- tp5多入口配置
手册里可能有写,但不是特别清晰,在这给个实例,有两种方式: 1.多个入口文件: 将public下的index.php复制一份,粘贴.重命名为对应模块的名字,如admin: 编辑admin.php的内容 ...
- python从Excel中提取邮箱
从各个城市的律师协会去爬取的律师的招聘信息,可是邮箱在招聘简介里面,所有需要写个脚本去提取邮箱 import pandas as pd import re regex = r"([-_a-z ...
- SSM 框架基于ORACLE集成TKMYBATIS 和GENERATOR自动生成代码(Github源码)
基于前一个博客搭建的SSM框架 https://www.cnblogs.com/jiangyuqin/p/9870641.html 源码:https://github.com/JHeaven/ssm- ...
- ArrayList 一个面试题
我们现在有一个集合,集合里面有100个随机数,获取其中的基数: //假设我们得到了100个随机数 List<Integer> lists = new RandomArrayList< ...
- 在linux环境下安装redis并且搭建自己的redis集群
此文档主要介绍在linux环境下安装redis并且搭建自己的redis集群 搭建环境: ubuntun 16.04 + redis-3.0.6 本文章分为三个部分:redis安装.搭建redis集群 ...
- Linux入门第四天——shell基础
一.shell概述 1.概述 命令行解释器(壳,也就是我们的操作界面),计算机只认识0101的二进制,我们需要通过ASCII表来进行翻译 较为官方的解释是: Shell 是一个用 C 语言编写的程序, ...
- 版本控制工具(上)——Git的基本使用
一.Git简介 git是什么? Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.[2] Git 是 Linus Torvalds 为了帮助管理 Linux 内 ...