Официально выпущена версия QuickDAO4.0. По сравнению с версией 3.0 архитектура была переработана, структура кода стала более четкой, а внешний интерфейс сильно не изменился. Если вы пользуетесь версией 3.0, вы можете увидеть руководство по миграции на домашней странице QuickDAO3.0 Warehouse.
QuickDAO4
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
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>cn.schoolwow</groupId>
<artifactId>QuickDAO</artifactId>
<version>4.0</version>
</dependency>
2 Настройте QuickDAO
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");
- Сложный запрос
List<User> userList = dao.query(User.class)
.addQuery("name","quickdao")
.addNotNullQuery("password")
.page(1,10)
.orderBy("id")
.execute()
.getList();
- Запрос ассоциации внешнего ключа
List<User> 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();