Sonsure-Dumper
Простой, быстрый и удобный в использовании слой для сохранения данных через JDBC.
Последнее обновление: 4.3.0
// Получение объекта по первичному ключу
User user = jdbcDao.get(User.class, 177);
// Поиск всех объектов списка
List<User> users = jdbcDao.find(User.class);
// Запрос постраничного списка
Page<User> page = jdbcDao.pageResult(user);
// Выполняет запрос на основе непустых атрибутов объекта пользователя
long count = jdbcDao.findCount(user);
// Возвращает объект пользователя на основе непустых атрибутов, если их несколько — выбрасывает исключение
User user = jdbcDao.singleResult(user);
// Если есть несколько объектов, возвращает первый, после постраничной обработки возвращает первую запись из таблицы
User user = jdbcDao.firstResult(user);
// Автоматически обрабатывает первичный ключ на основе стратегии, установленной в объекте пользователя, если установлен первичный ключ — обработка не производится
// Тип возвращаемого значения первичного ключа зависит от его генерации, может быть преобразован самостоятельно
Long id = (Long)jdbcDao.executeInsert(user);
// Обновляет объект пользователя по первичному ключу
jdbcDao.executeUpdate(user);
// Удаляет объект пользователя по первичному ключу
jdbcDao.executeDelete(User.class, 1800081L);
// SQL: update User set user_age = user_age + 1 where user_info_id = 17
jdbcDao.update(User.class)
.set("{{userAge}}", "userAge+1")
.where("userInfoId", 17L)
.execute();
// SQL: select user_age, count(*) num from user_info group by user_age order by num desc limit 0,10
Page<Object> page = jdbcDao.selectFrom(UserInfo.class).addColumn("userAge,count(*) Num")
.groupBy(UserInfo::getUserAge()) //4.0版开始属性推荐使用lambda方式,防止拼错
.orderBy("Num").desc()
.paginate(1, 10)
.isCount(false)
.pageMapResult();
{{}}
для выполнения специальных запросов, таких как user_age = user_age + 1
, которые не подходят для передачи параметров;Компоненты по сути представляют собой более удобную оболочку для общего dao. Даже если компонент не удовлетворяет требованиям или не имеет необходимой функциональности, можно использовать оригинальный способ выполнения запросов без влияния на работу компонента.
Добавьте зависимость, по умолчанию используется реализация Spring Jdbc, но можно выбрать другую реализацию:
<dependency>
<groupId>com.sonsure</groupId>
<artifactId>sonsure-dumper-springjdbc</artifactId>
<version>${version}</version>
</dependency>
Объявите Bean, дополнительные параметры см. в соответствующей документации:
<bean id="jdbcDao" class="com.sonsure.dumper.springjdbc.persist.SpringJdbcDaoTemplateImpl">
<property name="dataSource" ref="dataSource"/>
</bean>
Используйте JdbcDao традиционным способом инъекции:
@Autowired
private JdbcDao jdbcDao;
jdbcDao.get(User.class, 177);
В документации могут быть представлены конфигурации xml или JavaConfig, оба способа работают одинаково, вы можете выбрать подходящий.
github: https://github.com/selfly/sonsure-dumper
gitee: https://gitee.com/selfly/sonsure-dumper
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )