QuickDAO
QuickDAO是一款简单,易用,轻量级的javaORM框架.目前支持Mysql,SQlite以及H2数据库.
SprigBoot环境下由于类加载器问题请慎用,可能会导致未知问题出现!
QuickDAO目前没有在高并发环境下实践过,因此对于高并发项目请慎用.本项目适合于中小项目使用,提供封装良好的API与数据库进行交互,减少样板代码,尽可能提高开发效率!
目前QuickDAO使用Logback日志框架,DEBUG级别下会输入执行的SQL语句!
快速入门1建立实体类//用户类publicclassUser{privatelogid;privateStriguserame;privateStrigpassword;//用户设置表publicclassUserSettig{privatelogid;privateloguserId;privateStrigsettig;privateUseruser;//用户关注表publicclassUserFollow{privatelogid;privateloguserId;privatelogfollowerId;privateUseruser;privateUserfollowUser;2导入QuickDAOQuickDAO基于JDBC,为提高效率,默认只支持数据库连接池.
导入commos-dbcp(或者其他的DataSource实现)<depedecy><groupId>commos-dbcp</groupId><artifactId>commos-dbcp</artifactId><versio>1.4</versio></depedecy>2.1使用mave<depedecy><groupId>c.schoolwow</groupId><artifactId>QuickDAO</artifactId><versio>2.4</versio></depedecy>3使用QuickDAOQuickDAO支持自动建表,自动新增字段功能.当您在Java代码中配置好QuickDAO后无需再对数据库做任何操作.
BasicDataSourcemysqlDataSource=ewBasicDataSource();mysqlDataSource.setDriverClassName("com.mysql.jdbc.Driver");mysqlDataSource.setUrl("jdbc:mysql://127.0.0.1:3306/quickdao");mysqlDataSource.setUserame("root");mysqlDataSource.setPassword("123456");//指定���体所在包名c.schoolwow.quickdao.dao.DAOdao=QuickDAO.ewIstace().dataSource(mysqlDataSource).packageName("c.schoolwow.quickdao.etity").build();//之后所有的操作使用dao对象完成3.1简单查询与更新操作//根据id查询Useruser=dao.fetch(User.class,1);//根据属性查询Useruser=dao.fetch(User.class,"userame","quickdao");List<User>user=dao.fetchList(User.class,"password","123456");//保存用户dao.save(user);dao.save(userList);//删除用户dao.delete(User.class,1);dao.delete(User.class,"userame","quickdao");3.2复杂查询List<User>userList=dao.query(User.class).addNotEmptyQuery("userame").getList();关于复杂查询详细信息请点此查看
3.3外键查询List<User>userList=dao.query(User.class).joi(UserSettig.class,"id","userId").addNotEmptyQuery("settig").doe().getList();关于外键查询详细信息请点此查看
3.3分页排序查询List<User>userList=dao.query(User.class).pageNumber(1,10).orderByDesc("id").getList();关于分页排序详细信息请点此查看
3.4建表删表//删除User表dao.drop(User.class);//建立User表dao.create(User.class);详细手册实体注解QuickDAO有自动建表功能,用户可使用注解为实体类信息添加相关字段信息.同时QuickDAO能够自动匹配实体类和数据库表,自动添加新增的实体类字段信息.
配置信息QuickDAO可配置是否自动新建表,是否建立外键约束,忽略表和包等等.
事务功能QuickDAO基于JDBC封装了简单的事务功能.若需使用事务,请查询此手册
请注意:开启事务时只作用于调用方法的dao对象,若配置有多个dao对象,对其他dao对象无影响(也即其他dao对象不会跟着开启事务功能)!
QuickDAO本身提供了一套较完整的JUit测试用例,可查看CoditioTest和DAOTest.
反馈目前QuickDAO还不成熟,还在不断完善中.若有问题请提交Issue,作者将第一时间跟进并努力解决.同时欢迎热心认识提交PR,共同完善QuickDAO项目!










评论