Skip to content

ww20081120/easydao

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

easydao

Easydao是简单易用的轻量级DAO(Data Access Object)框架,它集成了Hibernate实体维护和Mybaits SQL分离的两大优势,提供了非入侵式API,可以与Hibernate、SpringJdbc等数据库框架很好的集成 。


###            Author:王伟 ###          E-mail:[email protected]

===========================

##目录

###Easydao具有以下特征: 1.O/R mapping不用设置xml,零配置便于维护
2.不需要了解JDBC的知识
3.SQL语句和java代码的分离
4.可以自动生成SQL语句
5.接口和实现分离,不用写持久层代码,用户只需写接口,以及某些接口方法对应的sql 它会通过动态代理自动生成实现类
6.支持自动事务处理和手动事务处理
7.MiniDao整合了Hibernate+mybatis的两大优势,支持实体维护和SQL分离
8.SQL支持脚本语言
9.可以无缝集成Hibernate、Spring等第三方框架,也可以单独部署运行,适应性强。
###接口和SQL文件对应目录
#####接口文件[EmpDao.java]

  @DAO
public interface EmpDao {

    @Sql("select * from emp")
    List<Map<String,Object>> selectAll();
    
    @Sql("select * from emp where empno = :empno")
    Map<String,Object> selectOne(@Param("empno") int empno);
    
    @Sql(value="select * from emp where deptno = :dept.deptno", bean=Emp.class)
    List<Emp> selectDeptEmp(@Param("deptno")Dept dept, @Param(Param.pageIndex)int pageIndex,@Param(Param.pageSize)int pageSize);
    
    @Sql(bean = Emp.class)
    List<Emp> queryEmp(@Param("dept") Dept dept);

    @Sql("select count(*) from emp")
    int listCount(ResultTransformer transformer);
}

####SQL文件[EmpDao_queryEmp.sql]

   select * from emp where   
   1=1   
   #if($dept)   
   and deptno=$dept.deptno   
   #end   

####测试代码

  @RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({
    "classpath:/META-INF/spring/*.xml"
})
@Transactional
public class EmpService {

    @Resource
    private EmpDao empDao;

    @Test
    public void test() {
        try {
            Dept dept = new Dept();
            dept.setDeptno(30);

            System.out.println("------------------");
            System.out.println(empDao.queryEmp(dept).size());
            System.out.println("------------------");
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
 }

About

简单易用的DAO框架,非侵入式的api,可以与Hibernate、SpringJdbc等框架很好的集成

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages