日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時(shí)間:2023/12/18 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 查询功能实现的八种方式 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到教程。

只是記錄一下

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 類中。

詳細(xì)用法見文章:mybatis3 中 @Provider 的使用方式?

5. Mybatis : Example (此方法亦有用方法4實(shí)現(xiàn).)

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

詳細(xì)用法見文章:MyBatis : Mapper 接口以及 Example 使用實(shí)例、詳解?

關(guān)于 Example 分頁有三種方式,見文章 :mybatis 中 Example 的使用 :條件查詢、排序、分頁(三種分頁方式 : RowBounds、PageHelpler 、limit )

?6. Java Persistence API = JPA 、JPQL? ? ??

相關(guān)文章:JPA criteria 查詢:類型安全與面向?qū)ο?/p> @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<實(shí)體類, 主鍵類型>?

spring-data-jpa 相關(guān)文章:

spring data jpa 的 in 查詢 Specification 實(shí)現(xiàn)

spring-data-jpa 介紹 復(fù)雜查詢,包括多表關(guān)聯(lián),分頁,排序?

使用 Spring Data JPA 簡(jiǎn)化 JPA 開發(fā)

spring-data-JPA使用JpaRepository注解自定義SQL查詢數(shù)據(jù)庫多表查詢

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();//構(gòu)造條件list.add(cb.equal(root.get("delFlag"), "0")); if (StringUtils.isNotEmpty(xxxName)) {list.add(cb.like(root.get("xxxName"), "%" + xxxName + "%"));}// 參數(shù) search 可代表姓名、名稱、任務(wù)、類型中的任意一種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直連數(shù)據(jù)庫,Statement、PrepareStatement查詢。? ? ? ??
?? ??? ? ?
?? ??? ? ??

總結(jié)

以上是生活随笔為你收集整理的java 查询功能实现的八种方式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。