精华内容
下载资源
问答
  • Dao DaoImp

    2017-01-23 15:55:00
    DAO层:DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,DAO层的设计首先是设计DAO的接口,然后在Spring的配置文件中定义此接口的实现类,然后就可在模块中调用此接口来进行数据业务的...
    1. DAO层:DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,DAO层的设计首先是设计DAO的接口,然后在Spring的配置文件中定义此接口的实现类,然后就可在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,DAO层的数据源配置,以及有关数据库连接的参数都在Spring的配置文件中进行配置。   
    2.   
    3. Service层:Service层主要负责业务模块的逻辑应用设计。同样是首先设计接口,再设计其实现的类,接着再Spring的配置文件中配置其实现的关联。这样我们就可以在应用中调用Service接口来进行业务处理。Service层的业务实现,具体要调用到已定义的DAO层的接口,封装Service层的业务逻辑有利于通用的业务逻辑的独立性和重复利用性,程序显得非常简洁。   
    4.   
    5. Controller层:Controller层负责具体的业务模块流程的控制,在此层里面要调用Serice层的接口来控制业务流程,控制的配置也同样是在Spring的配置文件里面进行,针对具体的业务流程,会有不同的控制器,我们具体的设计过程中可以将流程进行抽象归纳,设计出可以重复利用的子单元流程模块,这样不仅使程序结构变得清晰,也大大减少了代码量。   
    6.   
    7. View层 此层与控制层结合比较紧密,需要二者结合起来协同工发。View层主要负责前台jsp页面的表示,   
    8.   
    9. DAO层,Service层这两个层次都可以单独开发,互相的耦合度很低,完全可以独立进行,这样的一种模式在开发大项目的过程中尤其有优势,Controller,View层因为耦合度比较高,因而要结合在一起开发,但是也可以看作一个整体独立于前两个层进行开发。这样,在层与层之前我们只需要知道接口的定义,调用接口即可完成所需要的逻辑单元应用,一切显得非常清晰简单。   
    10.   
    11. DAO设计的总体规划需要和设计的表,和实现类之间一一对应。   
    12.   
    13. DAO层所定义的接口里的方法都大同小异,这是由我们在DAO层对数据库访问的操作来决定的,对数据库的操作,我们基本要用到的就是新增,更新,删除,查询等方法。因而DAO层里面基本上都应该要涵盖这些方法对应的操作。除此之外,可以定义一些自定义的特殊的对数据库访问的方法。   
    14.   
    15. Service逻辑层设计   
    16.   
    17. Service层是建立在DAO层之上的,建立了DAO层后才可以建立Service层,而Service层又是在Controller层之下的,因而Service层应该既调用DAO层的接口,又要提供接口给Controller层的类来进行调用,它刚好处于一个中间层的位置。每个模型都有一个Service接口,每个接口分别封装各自的业务处理方法。   
    18.   
    19. 在DAO层定义的一些方法,在Service层并没有使用,那为什么还要在DAO层进行定义呢?这是由我们定义的需求逻辑所决定的。DAO层的操作 经过抽象后基本上都是通用的,因而我们在定义DAO层的时候可以将相关的方法定义完毕,这样的好处是在对Service进行扩展的时候不需要再对DAO层进行修改,提高了程序的可扩展性。  
     
    34

    转载于:https://www.cnblogs.com/clphp/p/6344303.html

    展开全文
  • ssh分页注释加说明借鉴整理的 ssh分页(.dao,.daoImp,.service,.serviceImp,.action,.jsp,applicationContext.xml
  • ApplicationContext appContext = new ClassPathXmlApplicationContext("applicationContext.xml"); QueryDaoImpl ... QueryDaoImpl imp=new QueryDaoImpl(); remoteHandler.addBlackList(bl);  
    	ApplicationContext appContext = new ClassPathXmlApplicationContext("applicationContext.xml");
    		QueryDaoImpl remoteHandler = (QueryDaoImpl) appContext.getBean("userDao");
    		BlackList bl = new BlackList();
    		bl.setUserNum("15652592833");
    		bl.setProvince("1");
    		bl.setBegTime("2015-03-01");
    		bl.setEndTime("2015-03-17");
    		bl.setBlackType("1");
    		bl.setOperUser("100");
    		QueryDaoImpl imp=new QueryDaoImpl();
    		remoteHandler.addBlackList(bl);

     

    展开全文
  • public List findAllBook(Book b,PageBean p) throws Exception { String sql = "select b,bt,u.userName,d.deptName " + " from Book b,BookType bt,UserBean u,DeptBean d" + " where b.typeId=bt.id an
     
    
    public List findAllBook(Book b,PageBean p) throws Exception {
      String sql = "select b,bt,u.userName,d.deptName "
        + " from Book b,BookType bt,UserBean u,DeptBean d"
        + " where b.typeId=bt.id and b.userId=u.OID and u.deptOID=d.OID ";
      int i = 1;
      if (!b.getQueryType().equals("")) {
       i++;
      }
      if (!b.getCode().equals("")) {
       i++;
      }
      if (!b.getName().equals("")) {
       i++;
      }
      if (b.getTypeId().intValue() > 0) {
       i++;
      }
      if (!b.getBookSelf().equals("")) {
       i++;
      }
      String str[] = new String[i];
      Object ob2[] = new Object[i];
      i = 0;
      String sql2 = "select count(*) from Book b where b.status in('1','0')";
      if (b.getQueryType().equals("status")) {
       b.setStatus("0");
       sql += " and b.status=:status";
       sql2 += " and b.status=:status";
       str[i] = "status";
       ob2[i] = b.getStatus();
       i++;
      } else if (b.getQueryType().equals("losed")) {
       b.setIsLosed("0");
       sql += " and b.isLosed=:isLosed";
       sql2 += " and b.isLosed=:isLosed";
       str[i] = "isLosed";
       ob2[i] = b.getIsLosed();
       i++;
      } else if (b.getQueryType().equals("borrowed")) {
       b.setIsBorrowed("0");
       sql += " and b.isBorrowed=:isBorrowed";
       sql2 += " and b.isBorrowed=:isBorrowed";
       str[i] = "isBorrowed";
       ob2[i] = b.getIsBorrowed();
       i++;
      } else {
       b.setStatus("1");
       sql += " and b.status=:status";
       sql2 += " and b.status=:status";
       str[i] = "status";
       ob2[i] = b.getStatus();
       i++;
      }
      if (!b.getCode().equals("")) {
       sql += " and b.code=:code";
       sql2 += " and b.code=:code";
       str[i] = "code";
       ob2[i] = b.getCode();
       i++;
      }
      if (!b.getName().equals("")) {
       sql += " and b.name=:name";
       sql2 += " and b.name=:name";
       str[i] = "name";
       ob2[i] = b.getName();
       i++;
      }
      if (b.getTypeId().intValue() > 0) {
       sql += " and b.typeId=:typeId";
       sql2 += " and b.typeId=:typeId";
       str[i] = "typeId";
       ob2[i] = b.getTypeId();
       i++;
      }
      if (!b.getBookSelf().equals("")) {
       sql += " and b.bookSelf=:bookSelf";
       sql2 += " and b.bookSelf=:bookSelf";
       str[i] = "bookSelf";
       ob2[i] = b.getBookSelf();
      }
      
      p.setListSQL(sql);
      p.setTotalCountSQL(sql2);
      p.setCount(this.getPaginate().getTotalCount(p,str,ob2));
      this.setPageBean(p);
      List list = this.getPaginate().getList(p, str, ob2);
      Iterator it = list.iterator();
      List books = new ArrayList();
      while (it.hasNext()) {
       Object o[] = (Object[]) it.next();
       Book book = null;
       book = (Book) o[0];
       BookType bt = (BookType) o[1];
       UserBean u = new UserBean();
       u.setUserName((String) o[2]);
       DeptBean d = new DeptBean();
       d.setDeptName((String) o[3]);
       u.setDept(d);
       book.setBookType(bt);
       if (book.getStatus().equals("0")) {
        book.setStatusName("<font color='red'>
    注销</font>");
       } else {
        book.setStatusName("
    正常");
       }
       if (book.getIsBorrowed().equals("0")) {
        book.setIsBorrowedName("<font color='red'>
    借出</font>");
       } else {
        book.setIsBorrowedName("
    未借");
       }
       if (book.getIsLosed().equals("0")) {
        book.setIsLosedName("<font color='red'>
    丢失</font>");
       } else {
        book.setIsLosedName("
    正常");
       }
       book.setUser(u);
       books.add(book);
      }
      return books;
     }
    看了上面的代码或许能明白什么,上面的代码以可以改进的
     
    展开全文
  • dao.imp的小细节

    2013-04-08 16:17:16
    @Override public Staff getOneStaff(int sid) { List list=getHibernateTemplate().find("from Staff where sid=?",sid); if(list.size()>0) { return (Staff)list.get(0); } else return null;...
    	@Override
    	public Staff getOneStaff(int sid) {
    		List list=getHibernateTemplate().find("from Staff where sid=?",sid);
    		if(list.size()>0)
    		{
    			return  (Staff)list.get(0);
    		}
    		else return null;
    	}
    
    	@Override
    	public List getAll() {
    		List list=getHibernateTemplate().find("from Staff");
    		
    		return  list;
    	}

    比如以上代码,最好在取一个的时候判断下list的大小,否则没取到值的时候会报java.lang.IndexOutOfBoundsException: Index: 0, Size: 0异常!如果这样写的话,它报一个空指针错误,很容易知道哪里有问题了
    展开全文
  • imp(example): dao.fake.ts

    2020-12-07 06:55:57
    <div><p>该提问来源于开源项目:marblejs/marble</p></div>
  • 查询单个对象和集合: public PostInfo getMolde(Object objId) throws SQLException, NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {...
  • 使用Hibernate不是很久,自己在边学习的过程中发现如果要每增加一个Entity就要实现一个DAO和DaoImp的话会比较麻烦,所以自己就写了下面这两个类来实现了对所有Entity通用的操作。 首先写一个 Dao interface: ...
  • 自动生成Dao

    2014-04-01 11:59:55
    自动生成Dao——Imp
  • /daoCreator/DAOImp.java /daoCreator/IDABySQL.java /daoCreator/IDAO.java /daoCreator/TableCreator.java daoCreator.Util /daoCreator/Util/ClassUtil.java /daoCreator/Util/DBUtil.java test /test/test.java
  • 通用DAO

    2013-03-31 15:43:21
    package com.试试.lmis.util.dao; import org.hibernate.HibernateException; import org.hibernate.Query; ...import org.hibernate.Session;...import org.springframework.orm.hibernate3.HibernateCallback;...imp
  • 在项目中,Service 层和 Dao 层,这两个层本身不在写实际的代码内容,而是作为一个接口,同时,编写一个他们的实现类,在他们的实现类内写一些实际的代码。而他们本身仅仅是调用这些实现类内的方法。 很显然,...
  • 创建daoImp包,在该包下添加 AccountDaoImp.java(账号接口实现文件)和 ClassesDaoImp.java(学生接口实现文件) AccountDaoImp.java 右击daoImp包,添加一个名为AccountDaoImp的class文件,在添加接口选项处选择...
  • hibernate通用DAO

    2015-02-25 20:50:48
    详细介绍 Hibernate 泛型 DAO 及其使用方法 编写Spring+Hibernate框架下的应用,总是离不了编写一个通用的泛型GenericHibernateDao。查阅了网上不少的GenericHibernateDao实现,归纳整理为如下实现,供后续...imp
  • mybatis的基础Dao

    2018-05-11 17:27:00
    话不多说,直接贴代码吧,因为很多博客都需要用到这个基础dao,怕大家不好查询。 这个基类主要是使用了泛型,这样我就不必为每一个实体都写一个dao,大大节省了时间。其中sqlSessionTemplate是在spring ... 4 imp...
  • Dao模式是Java面向设计时的一种模式。而Dao中的BaseDao无非是对数据进行CURD(增删改查),下面列出两种常用的连接,增删改的方法。 情况一:mport java.sql.Connection; import java.sql.DriverManager;...imp
  • 在我们在写MVC设计的时候,都会写dao层和daoimp实现层,但假如我们使用mapper代理的方法,我们就可以不用先daoimp实现类 当然这得需要遵守一些相应的规则: (1)Usermapper.java接口必须和Usermapper.xml名称相同...
  • mybatis框架(2)---mapper代理方法

    千次阅读 2017-11-30 22:20:09
    在我们在写MVC设计的时候,都会写dao层和daoimp实现层,但假如我们使用mapper代理的方法,我们就可以不用先daoimp实现类 当然这得需要遵守一些相应的规则: (1)Usermapper.java接口必须和Usermapper.xml名称...
  • 泛型dao 的实现

    2010-04-23 15:01:55
    1. package yezhong.net.dao; public abstract interface BaseDao&lt;T&gt; extends GenericDao&lt;T, Long&gt;{}     2.   package yezhong.net.dao; import be.common.tools....imp...
  • Excelduqucaozuo

    2013-06-13 15:11:33
    可以方便读取Excel文件信息,存入数据库中。简单的进行增删该查,用到ibatis,java,vo,dao,daoimp理念。
  • Spring(3)

    2021-03-26 16:56:44
    JDBCTemplate jdbcTemplate:对JDBC进行封装,使用是方便了数据库的操作 dao层写实例接口,daoimp实现接口 service写方法 CRUD:
  • JPA简单DAO基础类实现

    2012-03-13 22:25:12
    最近研究jpa,写了个简单的DAO基础...package com.dyqsoft.base.dao.imp; import java.lang.reflect.Constructor;import java.lang.reflect.ParameterizedType;import java.lang.reflect.Type;import java.util.Arr...
  • 今日阅读项目源码

    2017-07-01 00:15:00
    项目刚导进来的时候,lib下很多报错,选中前面图标只有文本样式的,右键 ----------------------- 导入后阅读“雪花模型”模块代码,发现代码质量真心很差;...daoImp中写sql,利用spring的...
  • 创建Bean的三种方式 1、使用默认构造函数直接构造bean对象。没有默认构造方法就无法创建。 这个类是这样: ...public class DaoImp implements IDao { public void saveUser(){ System.out.print...
  • JDBC重构实现Dao工具类

    2020-12-09 10:35:21
    1.JDBC重构实现Dao工具类 package com.rj.bd.jdbcs.jdbc01; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import...
  • 比如说我的DaoImp是这样写的 package com.xatu.dao.imp; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement;...
  • 写到这里,我意识到这个系统MVC中的C放置在各个V中了,所以C就不介绍了,哈哈哈 接着总结DAO层,这个系统我采用的应该算是标准的DAO设计模式 还没有完全写完的daoDAO的结构图 ...DAO数据访问层的开发: ...imp...
  • Hibernate 泛型Dao实现

    2017-11-13 17:50:00
    package com.esailcar.finance.common.persistence; import java.io.Serializable; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.sql.SQLException;...imp...
  • bean.xml &...com.lv.daoimp.ProductDaoimp"/&gt;  &lt;bean id="UserDao" class="com.lv.daoimp.UserDaoimp"/&gt;  &lt;bean id="CategoryDao
  • 增删改查几乎是所有Dao不可与数据库进行交互的不可避免的操作。在java jdk 1.5 以后提供了泛型可以实现大量重用Dao的增伤改查代码。 所以小编觉得有必要做个笔记。  1 泛型crud重用首先向要创建一个通用的泛型...imp

空空如也

空空如也

1 2 3 4 5 ... 17
收藏数 328
精华内容 131
关键字:

daoimp