java 查询功能实现的八种方式

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

只是记录一下

1. HQL

2. Mybatis : mapper.xml 中写 sql 。

3. Mybatis : 注解 @Select

@Select("select * from xxx_order where order_no = #{orderNo}")
@ResultMap("BaseResultMap")
XxxOrder selectByOrderNo(@Param("orderNo") String orderNo);

4. Mybatis : 注解 @SelectProvider

@SelectProvider(type = XxxOrderProvider.class, method = "listOrderPdDataSql")  
List<OrderPdExportVo> listOrderPdData(XxxOrderQuery query);# sql写在 Provider 类中。

详细用法见文章:mybatis3 中 @Provider 的使用方式 

5. Mybatis : Example (此方法亦有用方法4实现.)

Example example = new Example(XxxRule.class);
Criteria criteria = example.createCriteria();
criteria.andEqualTo("status", 1);

详细用法见文章:MyBatis : Mapper 接口以及 Example 使用实例、详解 

关于 Example 分页有三种方式,见文章 :mybatis 中 Example 的使用 :条件查询、排序、分页(三种分页方式 : RowBounds、PageHelpler 、limit )

 6. Java Persistence API = JPA 、JPQL      

相关文章:JPA criteria 查询:类型安全与面向对象

@PersistenceContext
private EntityManager em;
...String querySql = "SELECT xxx_id FROM xxxsibilityWHERE dxxpxxxnt_id = '" + dxxpxxxntId + "' AND code != '10010'";
List<Object> xxxIdList = em.createNativeQuery(querySql).getResultList();

7. spring-data-jpa : JpaRepository<实体类, 主键类型> 

spring-data-jpa 相关文章:

spring data jpa 的 in 查询 Specification 实现

spring-data-jpa 介绍 复杂查询,包括多表关联,分页,排序 

使用 Spring Data JPA 简化 JPA 开发

spring-data-JPA使用JpaRepository注解自定义SQL查询数据库多表查询

spring-data-jpa 使用

例:

@Repository
public interface WorkxxxRepository extends JpaRepository<Workxxx, 
Integer>, JpaSpecificationExecutor<Workxxx> { // 查询方法 }    
@Autowired
private WorkxxxRepository workxxxRepository;
用法1:
public Object deleteDraft(User user) {return workxxxRepository.deleteDrafts(user.getId());
}
用法2:
Page<Workxxx> page = workxxxRepository.findAll(new Specification<Workxxx>() {@Overridepublic Predicate toPredicate(Root<Workxxx> root, CriteriaQuery<?> query, CriteriaBuilder cb) {List<Predicate> list = Lists.newArrayList();//构造条件list.add(cb.equal(root.get("delFlag"), "0"));                  if (StringUtils.isNotEmpty(xxxName)) {list.add(cb.like(root.get("xxxName"), "%" + xxxName + "%"));}// 参数 search 可代表姓名、名称、任务、类型中的任意一种if (StringUtils.isNotEmpty(search)) {Predicate p = cb.or(cb.like(root.get("xxxName"), "%" + search + "%"));p = cb.or(p, cb.like(root.get("xxxName"), "%" + search + "%"));p = cb.or(p, cb.like(root.get("xxxProject"), "%" + search + "%"));p = cb.or(p, cb.like(root.get("xxxType"), "%" + search + "%"));list.add(p);}	   Predicate[] p = new Predicate[list.size()];return cb.and(list.toArray(p));}
}, new PageRequest(pageable.getPageNumber(), pageable.getPageSize(), pageable.getSort()));

8.  JDBC直连数据库,Statement、PrepareStatement查询。        
          
           

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/447778.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

科目三夜考考试内容及过关攻略

驾考科目三夜考&#xff0c;考试内容是什么&#xff1f;夜考到底难不难&#xff1f;具体评判标准是什么&#xff1f;夜考有什么驾驶技巧吗&#xff1f;本文&#xff0c;小编将一一为大家解析&#xff01; ●夜考过关攻略 场外考试的新增内容就是&#xff1a;在夜间和低能见度…

联合索引:创建、删除、查看 (解决报错:Duplicate key name)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 创建联合索引&#xff1a; CREATE INDEX idx_xxx_stitution ON xxx_order (status,institution_code) idx_xxx_stitution &#x…

科目三场外考试易出错的环节

现在很多的城市都已经开始实行电子考试&#xff0c;这使得科目三考试更加公平公正&#xff0c;但还是有考生在考试中忽略了场外易出错的环节导致成绩不合格。●起步前不使用安全带在等待了约2小时后&#xff0c;考生史某终于坐上了考试车。史某很兴奋地调整了座位&#xff0c;观…

FreeSql (八)插入数据时指定列

插入数据时指定列&#xff0c;和忽略列对应&#xff0c;未被指定的列将被忽略。 var connstr "Data Source127.0.0.1;Port3306;User IDroot;Passwordroot;" "Initial Catalogcccddd;Charsetutf8;SslModenone;Max pool size10";IFreeSql fsql new FreeSq…

mybatis 中 Example 的使用 :条件查询、排序、分页(三种分页方式 : RowBounds、PageHelpler 、limit )

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 import tk.mybatis.mapper.entity.Example;import com.github.pagehelper.PageHelper;...Overridepublic List<Repayxxx> listRep…

科目三大路考8个驾驶技巧

驾考科目三考试&#xff0c;大路考的考试内容是什么&#xff0c;有什么考试要点&#xff0c;考试时&#xff0c;有哪些细节要注意&#xff1f;下面&#xff0c;就跟着小编一起来看看吧&#xff01; 科目三大路考驾驶技巧是在实际道路上驾驶机动车进行起步前的准备、起步、通过…

FreeSql (九)删除数据

删除是一个非常危险的操作&#xff0c;FreeSql对删除支持并不强大&#xff0c;仅支持了单表有条件的删除方法。 不想过多的介绍拉长删除数据的系列文章&#xff0c;删除数据的介绍仅此一篇。 若Where条件为空的时候执行方法&#xff0c;FreeSql仅返回0或默认值&#xff0c;不执…

解决: IDEA 代码 commit 后,Local Changes 中代码依旧在,提交失败,报错:is out of date

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 代码提交后 Local Changes 中的代码未消失。查看 Event log 发现提交失败。 如下 红框中位置就是 Event log&#xff0c;或者点击…

FreeSql (十)更新数据

FreeSql支持丰富的更新数据方法&#xff0c;支持单条或批量更新&#xff0c;在特定的数据库执行还可以返回更新后的记录值。 var connstr "Data Source127.0.0.1;Port3306;User IDroot;Passwordroot;" "Initial Catalogcccddd;Charsetutf8;SslModenone;Max po…

科目三的7个小步骤

科目三路考中&#xff0c;做好几个步骤就可以顺利的通过考试了&#xff0c;以下来分享下路考中需要注意的几个点。1、上车前&#xff0c;无论你在车辆的什么位置&#xff0c;请务必从车的右侧绕过车头走到驾驶室门前&#xff0c;先观察车前道路上是否有障碍&#xff0c;再观察车…

解决:The ‘Access-Control-Allow-Origin‘ header contains multiple values‘x, *‘, but only one is allowed.

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 跨域问题报错&#xff1a; Access to XMLHttpRequest at http://xx.xx.xx.xx/getUser from origin http://ergouzi.fun has been bloc…

科目三道路考试技巧流程详解

科目三是公认最难的考试科目&#xff0c;它不像科目二练习是在驾校训练场&#xff0c;有些技术不错的学员也会卡在这个项目上&#xff0c;由于突发状况多&#xff0c;了解考试流程是必不可少的。考试流程&#xff1a;1、上车前的准备工作2、上车起步3、变更车道4、直线行驶5、学…

springbootajaxhas been blocked by CORS policy: No ‘Access-Control-Allow-Origin

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 ajaxspringboot解决跨域问题&#xff0c;以下报的错误就是html跨域的问题 Access to XMLHttpRequest at http://localhost:8080/user/l…

起步前要做哪些准备?

开车前&#xff0c;做好起步的准备工作是必不可少的&#xff0c;有的人可能还不知道开车前要做那些起步工作。一、开车起步前&#xff0c;检查工作不能忘1、检查车子轮胎是否完好&#xff0c;若发现轮胎有损毁&#xff0c;及时更换。2、检查地面是否有会造成伤害的事或物&#…

什么是响应式布局设计

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 看一个例子&#xff1a;Mashable 的首页&#xff1a; 浏览器窗口最大化时&#xff1a; 缩小浏览器窗口&#xff1a; 再缩小&#x…

科目三电子路考细节部分

科目三考试是电子监控&#xff0c;相对之前的考官监考更为严格&#xff0c;没有了考官的提醒&#xff0c;我们更要注意什么&#xff1f;其实电子路考考的就是一种意识&#xff0c;一种安全意识。这也就是为什么在考试之前教练反复强调的不是技巧&#xff0c;而是打转向灯按喇叭…

PHP 与 JSP 比较(PHP、ASP、JSP是什么)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 PHP PHP&#xff08;Hypertext Preprocessor&#xff09;是一种嵌入HTML页面中的脚本语言。它大量地借用C和Perl语言的语法&#xff0c;…

FreeSql (十四)批量更新数据

FreeSql支持丰富的更新数据方法&#xff0c;支持单条或批量更新&#xff0c;在特定的数据库执行还可以返回更新后的记录值。 var connstr "Data Source127.0.0.1;Port3306;User IDroot;Passwordroot;" "Initial Catalogcccddd;Charsetutf8;SslModenone;Max po…

FreeSql (十五)查询数据

FreeSql在查询数据下足了功能&#xff0c;链式查询语法、多表查询、表达式函数支持得非常到位。 IFreeSql fsql new FreeSql.FreeSqlBuilder().UseConnectionString(FreeSql.DataType.MySql, "Data Source127.0.0.1;Port3306;User IDroot;Passwordroot;Initial Catalogcc…

路考变更车道该注意什么?

路考变更车道该注意什么&#xff1f;路考变更车道具体操作方法&#xff1f;路考变更车道注意事项&#xff1f;变更车道技巧&#xff1f;学车啦小编来指导让你更好的来了解路考变更车道&#xff1a; 操作方法 1、观察与判断观察车辆后方、侧方和准备变更的车道上的交通流情况; 2…