添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
  #####Mybatis#####
  <select id="selectPushDataList" resultMap="BaseResultMap" parameterType="com.jpc.JpushData" >
    SELECT
      <include refid="Base_Column_List" />
        jp_push jpt
    <where>
      delete_flag=1
      and (rule::json->>'sendType')::text = 'tag'
      <if test="name != null and name !=''" >
        and name =#{name,jdbcType=VARCHAR}
      ORDER BY
        create_time ASC
         LIMIT ${pageSize} OFFSET ${(currentPage - 1) * pageSize}
    </where>
  </select>
  ####PostgreSQL  SQL####
      SELECT
        uuid,create_user,create_time,update_user,update_time,delete_flag,NAME,type,push,rule, STATUS 
        jp_push jpt 
    WHERE
        jpt.delete_flag = 1 
        AND ( jpct.rule :: json ->> 'sendType' ) :: text = 'tag' 
        AND jpt.NAME = 'testname' 
    ORDER BY jpt.create_time ASC LIMIT 20 OFFSET 0

结果如下:

再看如下的json串:

--如何获取title,description呢--------

----------pre- zh en app----------
"pre": {
  "zh": {
     "app": {
       "title": "test",
       "description": "test",
       "images": [
           "https://www.baidu.com/",
           "https://www.baidu.com/1"
"en": {
 "app": {
  "title": "test",
   "description": "test",
   "images": [
    "https://www.baidu.com/",
   "https://www.baidu.com/1"
---------------pre zh en web------------------------------------
"pre": {
  "zh": {
   "web": {
   "title": "test",
   "description": "test",
    "images": [
      "https://www.baidu.com/",
      "https://www.baidu.com/1"
"en": {
"web": {
  "title": "test",
  "description": "test",
     "images": [
       "https://www.baidu.com/",
       "https://www.baidu.com/1"
如何写sql? 把语言和端作为一个变量传进去...
SELECT
    uuid, address,pre,
    pre :: json -> '${lunguage}' -> '${device}' ->> 'title' AS title,
    pre :: json -> '${lunguage}' -> '${device}' ->> 'description' AS description 
  "ban".test j

获取 zh-web不为空的内容:

lunguage 传  zh,device传 web
SELECT
    uuid,address, pre,
    pre :: json -> '${lunguage}' -> '${device}' ->> 'title' AS title,
    pre :: json -> '${lunguage}' -> '${device}' ->> 'description' AS description 
  "ban".test j  where  pre :: json -> '${lunguage}' -> '${device}' is not null

获取 zh-web-images数组里面的第一个图片信息不为空的内容:

SELECT 
uuid,address, pre,     pre :: json -> '${lunguage}' -> '${device}' ->> 'title' AS title,     pre :: json -> '${lunguage}' -> '${device}' ->> 'description' AS description, pre :: json -> '${lunguage}' -> '${device}' ->>0::'images' AS images FROM
 "ban".test j where pre :: json -> '${lunguage}' -> '${device}' is not null

总结:PostgreSQL 本身就支持以json作为sql的查询条件。