Java DAO、Service、web理解之DAO层

DAO 模式

DAO (Data Access Object 数据存取对象)是指位于业务逻辑和持久化数据之间实现对持久化数据的访问。通俗来讲,就是将数据库操作都封装起来。(接口设计+SQL编写,不涉及业务代码)

DAO 包含的模块:

  1. dao :接口层(Mapper 自动实现DAO接口,API编程方式实现DAO接口),一般采用Mapper 自动实现DAO接口
  2. entity:实体层
  3. resource:sql(xml提供sql,注解提供sql),一般使用前者,注解对于简单sql使用较为方便

mybatis 实现原理 参数+sql =Entity/List

 

mybatis 参数配置注意点:







mybatis奇技淫巧:

  1. ignore 使用 ,为防止主键冲突,使用ignore关键字,若插入失败不会抛异常,而是返回插入成功的条数为0。
        
            
            INSERT ignore INTO success_killed(seckill_id,user_phone,state)
            VALUES (#{seckillId},#{userPhone},0)
        

     

  2. 返回结果实体中出现多对1的情况,用双引号指明是对象的那个属性

     

  3. 多参数需要用@param注解,java没有形参保存记录Java DAO、Service、web理解之DAO层_第1张图片

 

mybatis 与Spring整合

  1. 配置数据库连接池
    
        
    
        
        
            
            
    
            
            
            
            
    
            
            
            
            
            
    
            
            
            
            
        

     

  2. 配置SqlSessionFactory对象,约定大于配置
    
        
        
            
            
            
            
            
            
            
            
            
        
    

     

  3. 配置扫描DAO接口包,动态实现DAO接口,注入到spring容器中
        
        
            
            
            
            
        

     

最后,需要到dao层接口单独写单元测试

你可能感兴趣的:(框架,DAO)