Слияние кода завершено, страница обновится автоматически
SqlBean
Примеры использования SqlBean и генерации кода 👉 https://gitee.com/iJovi/sqlbean-example.
<dependency>
<groupId>cn.vonce</groupId>
<artifactId>vonce-sqlbean-spring</artifactId>
<version>1.6.3</version>
</dependency>
@Data
public class BaseEntity {
@SqlId(type = IdType.SNOWFLAKE_ID_16)
@SqlColumn(notNull = true, remarks = "唯一id")//字段不能为null,表字段注释
private Long id;
@SqlColumn(remarks = "创建者")//表字段注释
private Long creator;
@SqlDefaultValue(with = FillWith.INSERT)
@SqlColumn(remarks = "创建时间")//表字段注释
private Date createTime;
@SqlColumn(remarks = "更新者")//表字段注释
private Long updater;
@SqlDefaultValue(with = FillWith.UPDATE)
@SqlColumn(remarks = "更新时间")//表字段注释
private Date updateTime;
@SqlLogically
@SqlColumn(remarks = "是否删除(0正常 1删除)")//表字段注释
private Boolean deleted;
}
@Data
//autoAlter设置为true,实体类有变动时自动同步表结构
@SqlTable(autoAlter = true, value = "t_user", remarks = "用户")
public class User extends BaseEntity {
@SqlColumn(notNull = true, remarks = "用户名")//字段不能为null,表字段注释
private String userName;
@SqlColumn(remarks = "姓名")//表字段注释
private String nickName;
@SqlColumn(notNull = true, remarks = "手机号码")//表字段注释
private String mobilePhone;
@SqlColumn(notNull = true, remarks = "密码")//表字段注释
private String password;
@SqlColumn(notNull = true, remarks = "性别")//表字段注释
private Integer gender;
@SqlColumn(remarks = "年龄")//表字段注释
private Integer age;
@SqlColumn(remarks = "电子邮箱")//表字段注释
private String email;
@SqlColumn(remarks = "头像", oldName = "head_portrait")//表字段注释,修改表字段名称需要在oldName指定旧的名称
private String avatar;
@SqlDefaultValue(with = FillWith.INSERT)
@SqlColumn(notNull = true, remarks = "状态(0正常 1停用)")//字段不能为null,表字段注释
private UserStatus status;
}
public interface UserService extends SqlBeanService<User, Long> {
//Здесь можно написать собственные методы упаковки
}
//Если вы используете Spring Jdbc, то вместо этого наследуйте от SpringJdbcSqlBeanServiceImpl
@Service
public class UserServiceImpl extends MybatisSqlBeanServiceImpl<User, Long> implements UserService {
}
@RequestMapping("user")
@RestController
public class UserController {
@Autowired
private UserService userService;
//Запрос
@GetMapping("select")
public RS select() {
//Список запросов
List<User> list = userService.select();
list = userService.selectBy(Wrapper.where(Cond.gt(User::getId, 10)).and(Cond.lt(User::getId, 20)));
//Указанный запрос
list = userService.select(new Select().column(User::getId, User::getUserName, User::getMobilePhone).where().gt(User::getId, 10));
//Запрос одной строки
User user = userService.selectById(1L);
user = userService.selectOneBy(Wrapper.where(eq(User::getId, 1001)));
//sql семантический запрос «20-летний пользователь женского пола, отсортированный в обратном порядке по времени создания, получить первые 10 записей»
list = userService.select(new Select().column(User::getId, User::getUserName, User::getMobilePhone).where().eq(User::getAge, 22).and().eq(User::getGender, 0).back().orderByDesc(User::getCreateTime).page(0, 10));
``` ```
// Запрос к таблице, в которой содержатся данные о пользователях.
// В запросе выбираются следующие поля: id, имя пользователя (userName), мобильный телефон (mobilePhone),
// провинция (province), город (city), район (area) и детали адреса (details).
// Также выполняется внутреннее соединение с таблицей адресов пользователей (UserAddress).
// Выбираются только те пользователи, возраст которых больше 20 лет, а пол равен нулю (женский).
// Пользователи выбираются в порядке убывания времени создания.
// Первые 10 пользователей заносятся в список.
Select select = new Select();
select.column(User::getId, User::getUserName, User::getMobilePhone, UserAddress::getProvince, UserAddress::getCity, UserAddress::getArea, UserAddress::getDetails);
select.innerJoin(UserAddress.class).on().eq(UserAddress::getId, User::getId);
select.where().gt(User::getAge, 22).and().eq(User::getGender, 0);
select.orderByDesc(User::getCreateTime);
select.page(0, 10);
// Создаётся карта, которая содержит информацию о выбранных пользователях.
Map<String, Object> map = userService.selectMap(select);
List<Map<String, Object>> mapList = userService.selectMapList(select);
return super.successHint("Получение успешно", list);
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )