zoukankan      html  css  js  c++  java
  • mybatis实现使用原生的sql

    1.相应的xml文件中

    <select id="selectByCategories" resultType="map" parameterType="java.lang.String" >
    ${_parameter}
    </select>

    2.对应的mapper文件中添加下列方法

    List<Map<String , Long>> selectByCategories(String sql);

    3.在业务层写相应的逻辑

    // 得到不同分类下的相同文章
    	public List<ArticleInfo> getTheSameArticle(String args){
    
    	  String[] arr = args.split(",");
    	   int len=arr.length;
    		String sql="select article_id from"
    				+ " (select category_id,article_id from article_category WHERE category_id in ("+args
    				+ ")  GROUP BY category_id,article_id)b GROUP BY article_id HAVING count(category_id)="+len;
    		 System.out.println(sql);
    		 List <Map<String, Long>> resultList=articleCategoryMapper.selectByCategories(sql );
    		System.out.println(resultList);
    		LinkedList<ArticleInfo> articleList=new LinkedList<>();
    		for (int i=0;i<resultList.size();i++) {
    			System.out.println(resultList.get(i));
    			Map<String, Long> tempMap = resultList.get(i);	
    			System.out.println(tempMap.get("article_id"));
    			long id=tempMap.get("article_id");
    		   articleList.add(getOneById(id));		
    		}
    
    		return articleList;
    		   
    		
    			
    		
    	}
    

     成功。 

  • 相关阅读:
    webpack 关于跨域的配置
    如何使用css变量
    样式重置
    vue+element_ui上传文件,并传递额外参数(自动上传)
    LeetCode-46-全排列
    LeetCode-39-组合总数
    LeetCode-33-搜索旋转排序数组
    LeetCode-207-课程表
    LeetCode-15-三数之和
    LeetCode-盛最多水的容器
  • 原文地址:https://www.cnblogs.com/LULULI/p/10818029.html
Copyright © 2011-2022 走看看