您的位置:首页 > 其它

mybatis按照关键字(符号)截取字符串,字符串拼接,循环查询语句,分组求和函数用法

2018-02-26 14:20 2651 查看
SQL语句1、按照关键字(符号)截取字符串,2、取集合参数某下标值,3、字符串拼接,4、循环查询语句,5、分组求和函数用法:<select id="getSettleTableDetail"  parameterType="map" resultType="map"> 
         SELECT                      SUM( ad.HOT_NUM) AS hotNum ,                      SUM(ad.EXPOSURE_NUM) AS exposureNum ,                      SUM(ad.DOWNLOAD_NUM) AS downloadNum,                    SUBSTRING_INDEX( ade.CREATED_DATE,' ',1) AS createTime            FROM                 ADS_ADVERTISEMENT ad            LEFT JOIN                 ADS_ADVERTISEMENT_EXPOSURE ade ON     ad.ADVERTISEMENT_ID=ade.ADVERTISEMENT_ID   WHERE           ad.ADVERTISEMENT_ID=#{advertisementId}              <if test="list != null ">                        and ade.CREATED_DATE LIKE concat(#{list[0]},'%')                       <foreach item="item" collection="list" open="" close="" index="1">                                 or ade.CREATED_DATE LIKE concat(#{item},'%')                    </foreach>               </if>    GROUP BY           createTime  //group by是根据别名来分组的。
</select>
sql截取字符串用法:left(被截取字段,截取长度);
right(被截取字段,截取长度);
substring(被截取字段,从第几位开始截取);
substring(被截取字段,从第几位开始截取,截取长度);
substring_index(被截取字段,关键字,关键字出现的次数);
mysql查询最后一条插入的ID:适用int类型:SELECT LAST_INSERT_ID()  ;
SELECT MAX(id) FROM table 
String sql = "INSERT INTO users (username,password,email) VALUES (?,?,?);"; PreparedStatement pstmt = (PreparedStatement) conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);//传入参数:Statement.RETURN_GENERATED_KEYS  
pstmt.setString(1, user.getUsername());  
pstmt.setString(2, user.getPassword());  
pstmt.setString(3, user.getEmail());  
pstmt.executeUpdate();//执行sql                                                                             int autoInckey = -1;  
ResultSet rs = pstmt.getGeneratedKeys(); //获取结果     
if (rs.next()) {  
  autoIncKey = rs.getInt(1);//取得ID  
} else {  
  // throw an exception from here  
}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: