前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。
只是記錄一下
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查詢。? ? ? ??
?? ??? ? ?
?? ??? ? ??