pndao
Один простой вспомогательный инструмент MyBatis, который может помочь вам генерировать и поддерживать SQL-запросы на основе соглашения об именовании DAO.
pndao — это инструмент, разработанный командой Java-разработчиков «Билет Ню». В процессе реальной работы он сократил более 80% повторяющейся работы по написанию SQL, позволяя сосредоточиться на разработке самой модели. В сочетании с плагином для генерации операторов создания таблиц pngen в большинстве случаев достаточно написать один класс модели для завершения работы слоя DAO.
Вот пример типичной функции DAO:
public class UserDaoTest extends AbstractTest{
public static final int USER_ID = 1;
@Autowired
private UserDao userDao;
@Test
public void testInsertUser() throws Exception {
User user = initUser();
assertThat(userDao.insert(user)).isEqualTo(1);
}
@Test
public void testFindUserById() throws Exception {
User user = userDao.findById(USER_ID);
assertThat(user).isNotNull();
}
@Test
public void testUpdateUserName() throws Exception {
assertThat(userDao.updateForUserName("用户13700000001",USER_ID)).isEqualTo(1);
}
}
На основе pndao все необходимые для разработки DAO методы выглядят так:
@DaoGen
public interface UserDao {
int updateForUserName(@Param("userName") String userName, @Param("id") int id);
int insert(User t);
User findById(int id);
}
<artifactId>pndao</artifactId>
<groupId>com.piaoniu</groupId>
<version>0.2.0</version>
Рекомендуется сначала ознакомиться с примерами кода в pndao-example.
Поддерживаемые методы:
Метод | Описание | Пример | Примечание |
---|---|---|---|
insert | Вставка записи | insert(User user) | ID будет записан в первичный ключ пользователя |
batchInsert | Пакетная вставка записей | batchInsert(List user) | Возвращает количество вставленных записей |
findBy | Поиск одного элемента по столбцу | findByUserName(String userName) | Возвращает одну запись |
queryBy | Запрос нескольких элементов по столбцу | queryByUserName(String userName) | Возвращает несколько записей |
countBy | Подсчёт общего количества по столбцу | countBy(String userName) | Возвращает общее количество |
update | Обновление всех столбцов по первичному ключу | update(User user) | Возвращает обновлённое количество записей |
updateFor | Обновление одной колонки по первичному ключу | updateForUserName(String userName,int id) | Возвращает обновлённое количество записей |
-AtablePrefix=PN_
для изменения префикса таблицы по умолчанию. Вот пример:<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerArgument>-AtablePrefix=PNTS_</compilerArgument>
</configuration>
</plugin>
Проект всё ещё находится в стадии бета-тестирования, и некоторые версии могут быть неполными. Мы приветствуем предложения, использование и отправку кода.
Адрес блога команды разработчиков Piao Niu: https://piaoniu.io/.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )