# QuickDAO3 **Repository Path**: 648823596/QuickDAO3 ## Basic Information - **Project Name**: QuickDAO3 - **Description**: QuickDAO3官方仓库,一个Java ORM框架 - **Primary Language**: Java - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 9 - **Forks**: 1 - **Created**: 2020-04-01 - **Last Updated**: 2025-08-19 ## Categories & Tags **Categories**: database-dev **Tags**: None ## README ## QuickDAO3将不再维护,请移步至QuickDAO4官方仓库地址. [QuickDAO4](https://github.com/sunyue1380/QuickDAO4) ## 迁移教程 QuickDAO4和QuickDAO3的接口调整如下: |原接口|新接口| |---|---| |cn.schoolwow.quickdao.dao.condition.Condition|cn.schoolwow.quickdao.query.condition.Condition;| |cn.schoolwow.quickdao.dao.condition.subCondition.SubCondition|cn.schoolwow.quickdao.query.subCondition.SubCondition| |cn.schoolwow.quickdao.dao.response.Response|cn.schoolwow.quickdao.query.response.Response| |cn.schoolwow.quickdao.dao.sql.transaction.Transaction|cn.schoolwow.quickdao.transaction.Transaction| # QuickDAO3 > 最新版本:3.6.7 更新时间: 2020-12-23 QuickDAO是一个简单易用方便的Java ORM框架.具有以下优势: * 只需要注入一个DAO即可完成初始化操作 * 自动建表,自动新增数据库字段 * API层面支持外键关联查询,支持复杂的外键关联查询 * 内置数据库方言支持 * 实体类注解,支持自定义字段名称,类型,是否建立索引,建立外键关联 # 支持数据库 * MySQL(5.0以上) * SQLite * H2 * Postgre(9.0.0以上) * SQL Server(2012版本以上) # 快速入门 ## 1 导入QuickDAO QuickDAO基于JDBC,为提高效率,默认只支持数据库连接池. * 导入commons-dbcp(或者其他的DataSource实现) * 导入QuickDAO最新版本 ``` commons-dbcp commons-dbcp 1.4 cn.schoolwow QuickDAO 3.6 ``` ## 2 配置QuickDAO ```java BasicDataSource mysqlDataSource = new BasicDataSource(); mysqlDataSource.setDriverClassName("com.mysql.jdbc.Driver"); mysqlDataSource.setUrl("jdbc:mysql://127.0.0.1:3306/quickdao"); mysqlDataSource.setUsername("root"); mysqlDataSource.setPassword("123456"); //指定实体所在包名 cn.schoolwow.quickdao.dao.DAO dao = QuickDAO.newInstance() .dataSource(mysqlDataSource) .packageName("cn.schoolwow.quickdao.entity") .build(); //之后所有的操作使用dao对象完成 ``` ## 3使用QuickDAO * 根据id查询 ```User user = dao.fetch(User.class,1);``` * 根据单个属性查询 ```User user = dao.fetch(User.class,"username","quickdao");``` * 插入对象 ```dao.insert(user);``` * 更新对象 ```dao.update(user);``` * 保存对象(存在则更新,不存在则插入) ```dao.save(user);``` * 根据id删除 ```dao.delete(User.class,1);``` * 根据属性值删除 ```dao.delete(User.class,"username","quickdao");``` * 复杂查询 ```java List userList = dao.query(User.class) .addQuery("name","quickdao") .addNotNullQuery("password") .page(1,10) .orderBy("id") .execute() .getList(); ``` * 外键关联查询 ```java List userList = dao.query(User.class) joinTable(Address.class,"addressId","id") .addQuery("name","BeiJing") .done() .addQuery("name","quickdao") .page(1,10) .orderBy("id") .compositField() .execute() .getList(); ``` # 详细文档 [点此访问](https://sunyue1380.github.io/QuickDAO3/) # 反馈 目前QuickDAO还不成熟,还在不断完善中.若有问题请提交Issue或者发送邮件到648823596@qq.com,作者将第一时间跟进并努力解决.同时欢迎热心认识提交PR,共同完善QuickDAO项目! # 开源协议 本软件使用 [GPL](http://www.gnu.org/licenses/gpl-3.0.html) 开源协议!