1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/agile-framework-agile-jpa

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 7.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 29.11.2024 11:19 5546bf6

SysUsersEntity entity = new SysUsersEntity();entity.setName("Tom"); SysUsersEntity entity = dao.findOne(entity);


Создаётся объект сущности SysUsersEntity, которому присваивается имя «Tom». Затем этот объект передаётся в метод findOne(), который возвращает объект сущности SysUsersEntity.

/

  • 功能:根据sql语句查询单条
  • 特点:查询结果会映射为你提供的参数类型(第二个参数),如果查询结果超过一条,则抛出异常
  • 例子:该例子中会查询SysUsersEntity对应表中一条id为1111的数据 */ String sql = "select * from sys_users where id = ?"; SysUsersEntity entity = dao.findOne(sql,SysUsersEntity.class,"1111");

Строка SQL-запроса передаётся методу findOne(). Второй параметр метода — это класс сущности, а третий параметр — значение идентификатора.

/

  • 功能:根据sql语句查询单条
  • 特点:查询结果会映射为你提供的参数类型(第二个 параметра);提供动态sql语句服务,根据参数有无动态踢除sql语法段;如果查询结果超过一条,则抛出异常
  • 例子:该例子中会查询SysUsersEntity对应表中一条id为1111的数据 */ String sql = "select * from sys_users where id = {id1} or id = {id2}"; Map<String,Object> params = new HashMap<>(1); params.put("id1","1111"); SysUsersEntity entity = dao.findOne(sql,SysUsersEntity.class,params);

В этом примере используется динамический SQL. Строка запроса передаётся методу findOne() вместе с классом сущности и картой параметров.

/

  • 功能:根据例子查询数据集
  • 特点:无
  • 例子:该例子中会查询SysUsersEntity对应表name字段值为Tom的所有数据 */ SysUsersEntity entity = new SysUsersEntity(); entity.setName("Tom"); SysUsersEntity entity = dao.findAll(entity);

Здесь создаётся объект сущности с именем «Tom», который передаётся методу findAll().

/

  • 功能:根据例子与排序信息Sort查询数据集并排序
  • 特点:提供排序
  • 例子:该例子中会查询SysUsersEntity对应表name字段值为Tom的所有数据,且根据name与code字段做降序排序 */ Sort sort = new Sort(Sort.Direction.DESC,"name","code"); SysUsersEntity entity = new SysUsersEntity(); entity.setName("Tom"); SysUsersEntity entity = dao.findAll(entity,sort);

Объект сущности создаётся и передаётся методу findAll() вместе с объектом сортировки.

/

  • 功能:根据sql查询数据集
  • 特点:提供动态sql服务,结果为List
  • 例子:该例子中会查询SysUsersEntity对应表id字段值为1111的所有数据 */ String sql = "select * from sys_users where id = {id1} or id = {id2}"; Map<String,Object> params = new HashMap<>(1); params.put("id1","1111"); List entity = dao.findAll(sql,SysUsersEntity.class,params);

Этот пример похож на предыдущий, но здесь используется метод findAll(), который принимает строку запроса, класс сущности и карту параметров.

/

  • 功能:根据实体类型查询全表数据
  • 特点:无
  • 例子:该例子中会查询SysUsersEntity对应表全部数据 */ List list = dao.findAll(SysUsersEntity.class);

Метод findAll() принимает класс сущности.

/

  • 功能:根据sql查询一条数据的一个字段值
  • 特点:提供动态sql服务,结果为Object
  • 例子:该例子中会查询SysUsersEntity对应表id字段值为1111的name字段数据
  • 参数:第二个参数可以为对象数组或Iterable类型 */ List list = dao.findAllById(SysUsersEntity.class,new String[]{"1111","2222"});

Пример использования метода findAllById(). В качестве параметров передаются класс сущности и массив строк.

/

  • 功能:根据sql查询数据集
  • 特点:提供动态sql服务,结果为List
  • 例子:该例子中会查询SysUsersEntity对应表id字段值为1111的所有数据 */ String sql = "select * from sys_users where id = {id1} or id = {id2}"; Map<String,Object> params = new HashMap<>(1); params.put("id1","1111"); List<Map<String, Object>> entity = dao.findAllBySQL(sql,params);

Используется метод findAllBySQL(), которому передаются строка запроса и карта параметров.

/

  • 功能:根据sql查询一条数据的一个字段值
  • 特点:提供动态sql服务,结果为Object
  • 例子:该例子中会查询SysUsersEntity对应表id字段值为1111的name字段数据 */ String sql = "select name from sys_users where id = {id1}"; Map<String,Object> params = new HashMap<>(1); params.put("id1","1111"); Object entity = dao.findParameter(sql,params);

Ещё один пример использования метода findParameter().


  • 分页 查询方法多而杂,本文只例举常用例子,具体用发参照java doc
/**
 * 功能:按照例子查询 + 分页
 * 特点:首页从1计算
 * 例子:该例子中会查询SysUsersEntity对应表首页,10条数据
 */
 int pageSize = 10;
 int pageNum = 1;
SysUsersEntity entity = new SysUsersEntity();
entity.setName("Tom");
Page page = dao.findAll(entity,pageNum,pageSize);

Создаётся сущность с именем «Tom» и передаётся методу findAll() вместе со значениями номера страницы и размера страницы.

/**
 * 功能:按照例子查询 + 分页 + 排序
 * 特点:首页从1计算
 * 例子:该例子中会查询SysUsersEntity对应表首页,10条数据,且排序
 */
 int pageSize = 10;
 int pageNum = 1;
Sort sort = new Sort(Sort.Direction.DESC,"code");
SysUsersEntity entity = new SysUsersEntity();
entity.setName("Tom");
Page page = dao.findAll(entity,pageNum,pageSize,sort);

Сущность создаётся, передаётся методу findAll() и сортируется.

/**
 * 功能:按照sql查询 + 分页
 * 特点:首页从1计算
 * 例子:该例子中会查询SysUsersEntity对应表首页,10条数据,且排序
 * 提示:复杂sql建议使用MyBatis进行查询操作
 */
 int pageSize = 10;
 int pageNum = 1;
String sql = "select name from sys_users where id = {id1}";
Map<String,Object> params = new HashMap<>(1);
params.put("id1","1111");
Page page = dao.findPageBySQL(sql,pageNum,pageSize,params);

Передаётся строка запроса, номер страницы и размер страницы, а также карта параметров.

  • like查询
String sql= "select * from sys_role where name like '%{name}%'";
Page<ParamRoleEntity> page = dao.findPageBySQL(sql, getInParam("pageNum", Integer.class), getInParam("pageSize", Integer.class), ParamRoleEntity.class, getInParam());

Это пример использования метода findPageBySQL() для поиска по шаблону.

  • 批量删除或者更新
// 主键集合,支持Collection类型及数组类型
List<String> ids = getInParamOfArray("ids");
dao.updateBySQL("update sys_users set dele_flag = 1 where sys_users_id in ({ids})", getInParam());

Пример обновления данных с использованием метода updateBySQL().

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/agile-framework-agile-jpa.git
git@api.gitlife.ru:oschina-mirror/agile-framework-agile-jpa.git
oschina-mirror
agile-framework-agile-jpa
agile-framework-agile-jpa
master