单表与多表数据获取示例

This commit is contained in:
zhang-962464 2023-03-31 17:29:18 +08:00
parent 3059bca1b7
commit 7f3cf89cce
14 changed files with 116 additions and 25 deletions

View File

@ -1,16 +0,0 @@
package com.kening.vordm.vo;
import lombok.Data;
/**
* @author wanghongqing
* @date 2023/3/31 09:46
**/
@Data
public class DisasterInfo {
private Long id;
private String content;
}

View File

@ -0,0 +1,16 @@
package com.kening.vordm.vo;
import com.kening.vordm.entity.DisasterInfo;
import lombok.Getter;
import lombok.Setter;
/**
* @author wanghongqing
* @date 2023/3/31 09:46
**/
@Getter
@Setter
public class DisasterInfoVo extends DisasterInfo {
private String geo;
}

View File

@ -28,7 +28,8 @@ public class NewsController {
public R<List<News>> getNews(String content) { public R<List<News>> getNews(String content) {
// LambdaQueryWrapper<News> qr = new LambdaQueryWrapper<>(); // LambdaQueryWrapper<News> qr = new LambdaQueryWrapper<>();
// qr.like(News::getContent, content); // qr.like(News::getContent, content);
List<News> list = newsService.list(Wrappers.<News>lambdaQuery().like(News::getContent, content)); //List<News> list = newsService.list(Wrappers.<News>lambdaQuery().like(News::getContent, content));
return R.data(list);
return R.data(newsService.getNewsInfo());
} }
} }

View File

@ -0,0 +1,30 @@
package com.kening.vordm.controller;
import com.kening.vordm.entity.DisasterInfo;
import com.kening.vordm.entity.SocialMedia;
import com.kening.vordm.service.DisasterInfoService;
import com.kening.vordm.vo.DisasterInfoVo;
import lombok.RequiredArgsConstructor;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
*
*
*
*/
@RestController
@RequiredArgsConstructor
public class SocialMediaController {
private final DisasterInfoService disasterInfoService;
@GetMapping("/social-media")
public R<List<DisasterInfoVo>> getSocialMediaDataByCountry(DisasterInfo disasterInfo){
return R.data(disasterInfoService.getAllDataByCountry(disasterInfo.getDisasterCountry()));
}
}

View File

@ -14,9 +14,11 @@
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id,user_id,username, id,user_id,username,
email,organization,research_field, email,organization,research_field,
create_time create_time
</sql> </sql>
</mapper> </mapper>

View File

@ -3,6 +3,10 @@ package com.kening.vordm.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kening.vordm.entity.DisasterInfo; import com.kening.vordm.entity.DisasterInfo;
import com.kening.vordm.vo.DisasterInfoVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* @author G1393 * @author G1393
@ -11,6 +15,5 @@ import com.kening.vordm.entity.DisasterInfo;
* @Entity new.domain.DisasterInfo * @Entity new.domain.DisasterInfo
*/ */
public interface DisasterInfoMapper extends BaseMapper<DisasterInfo> { public interface DisasterInfoMapper extends BaseMapper<DisasterInfo> {
List<DisasterInfoVo> socialMediaData(@Param("country") String country);
} }

View File

@ -19,10 +19,37 @@
<result property="respondTime" column="respond_time" jdbcType="TIMESTAMP"/> <result property="respondTime" column="respond_time" jdbcType="TIMESTAMP"/>
</resultMap> </resultMap>
<resultMap id="BaseResultMap2" type="com.kening.vordm.vo.DisasterInfoVo">
<id property="id" column="id" jdbcType="BIGINT"/>
<result property="disasterType" column="disaster_type" jdbcType="VARCHAR"/>
<result property="disasterKeyword" column="disaster_keyword" jdbcType="VARCHAR"/>
<result property="disasterTime" column="disaster_time" jdbcType="TIMESTAMP"/>
<result property="geometry" column="geometry" jdbcType="VARCHAR"/>
<result property="disasterLevel" column="disaster_level" jdbcType="VARCHAR"/>
<result property="disasterCountry" column="disaster_country" jdbcType="VARCHAR"/>
<result property="respondStatus" column="respond_status" jdbcType="SMALLINT"/>
<result property="visitCount" column="visit_count" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="vordmId" column="vordm_id" jdbcType="VARCHAR"/>
<result property="respondTime" column="respond_time" jdbcType="TIMESTAMP"/>
<result property="geo" column="geo" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id,disaster_type,disaster_keyword, id,disaster_type,disaster_keyword,
disaster_time,geometry,disaster_level, disaster_time,geometry,disaster_level,
disaster_country,respond_status,visit_count, disaster_country,respond_status,visit_count,
create_time,vordm_id,respond_time create_time,vordm_id,respond_time
</sql> </sql>
<sql id="Base_Column_List2">
id,disaster_type,disaster_keyword,
disaster_time
</sql>
<select id="socialMediaData" resultMap="BaseResultMap2">
SELECT d.*, m.geo
FROM disaster_info d
INNER JOIN social_media m
ON d.vordm_id = m.vordm_id
WHERE d.disaster_country = #{country}
</select>
</mapper> </mapper>

View File

@ -4,6 +4,8 @@ package com.kening.vordm.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kening.vordm.entity.News; import com.kening.vordm.entity.News;
import java.util.List;
/** /**
* @author G1393 * @author G1393
* @description 针对表news(新闻咨询数据表)的数据库操作Mapper * @description 针对表news(新闻咨询数据表)的数据库操作Mapper
@ -11,6 +13,5 @@ import com.kening.vordm.entity.News;
* @Entity new.domain.News * @Entity new.domain.News
*/ */
public interface NewsMapper extends BaseMapper<News> { public interface NewsMapper extends BaseMapper<News> {
List<News> selectAllDataByNews();
} }

View File

@ -23,4 +23,11 @@
create_time,status,manager_id, create_time,status,manager_id,
review_time review_time
</sql> </sql>
<select id="selectAllDataByNews" resultMap="BaseResultMap">
SELECT t.*
FROM new_vordm.news t
limit 100
</select>
</mapper> </mapper>

View File

@ -27,6 +27,7 @@
<result property="reviewTime" column="review_time" jdbcType="TIMESTAMP"/> <result property="reviewTime" column="review_time" jdbcType="TIMESTAMP"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id,link,time, id,link,time,
content,user_id,favorite_count, content,user_id,favorite_count,

View File

@ -2,6 +2,9 @@ package com.kening.vordm.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.kening.vordm.entity.DisasterInfo; import com.kening.vordm.entity.DisasterInfo;
import com.kening.vordm.vo.DisasterInfoVo;
import java.util.List;
/** /**
* @author G1393 * @author G1393
@ -9,5 +12,5 @@ import com.kening.vordm.entity.DisasterInfo;
* @createDate 2023-03-30 17:40:27 * @createDate 2023-03-30 17:40:27
*/ */
public interface DisasterInfoService extends IService<DisasterInfo> { public interface DisasterInfoService extends IService<DisasterInfo> {
List<DisasterInfoVo> getAllDataByCountry(String country);
} }

View File

@ -3,12 +3,13 @@ package com.kening.vordm.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.kening.vordm.entity.News; import com.kening.vordm.entity.News;
import java.util.List;
/** /**
* @author G1393 * @author G1393
* @description 针对表news(新闻咨询数据表)的数据库操作Service * @description 针对表news(新闻咨询数据表)的数据库操作Service
* @createDate 2023-03-30 17:40:27 * @createDate 2023-03-30 17:40:27
*/ */
public interface NewsService extends IService<News> { public interface NewsService extends IService<News> {
List<News> getNewsInfo();
} }

View File

@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.kening.vordm.entity.DisasterInfo; import com.kening.vordm.entity.DisasterInfo;
import com.kening.vordm.mapper.DisasterInfoMapper; import com.kening.vordm.mapper.DisasterInfoMapper;
import com.kening.vordm.service.DisasterInfoService; import com.kening.vordm.service.DisasterInfoService;
import com.kening.vordm.vo.DisasterInfoVo;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* @author G1393 * @author G1393
* @description 针对表disaster_info(灾害信息表存储灾害信息)的数据库操作Service实现 * @description 针对表disaster_info(灾害信息表存储灾害信息)的数据库操作Service实现
@ -15,4 +18,8 @@ import org.springframework.stereotype.Service;
public class DisasterInfoServiceImpl extends ServiceImpl<DisasterInfoMapper, DisasterInfo> public class DisasterInfoServiceImpl extends ServiceImpl<DisasterInfoMapper, DisasterInfo>
implements DisasterInfoService { implements DisasterInfoService {
@Override
public List<DisasterInfoVo> getAllDataByCountry(String country) {
return this.baseMapper.socialMediaData(country);
}
} }

View File

@ -4,15 +4,23 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.kening.vordm.entity.News; import com.kening.vordm.entity.News;
import com.kening.vordm.mapper.NewsMapper; import com.kening.vordm.mapper.NewsMapper;
import com.kening.vordm.service.NewsService; import com.kening.vordm.service.NewsService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* @author G1393 * @author G1393
* @description 针对表news(新闻咨询数据表)的数据库操作Service实现 * @description 针对表news(新闻咨询数据表)的数据库操作Service实现
* @createDate 2023-03-30 17:40:27 * @createDate 2023-03-30 17:40:27
*/ */
@Service @Service
@RequiredArgsConstructor
public class NewsServiceImpl extends ServiceImpl<NewsMapper, News> public class NewsServiceImpl extends ServiceImpl<NewsMapper, News>
implements NewsService { implements NewsService {
@Override
public List<News> getNewsInfo() {
return baseMapper.selectAllDataByNews();
}
} }