欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mybatis動態(tài)查詢字段及表名的實現(xiàn)

 更新時間:2024年01月19日 11:54:52   作者:天涯___小菜  
本文主要介紹了Mybatis動態(tài)查詢字段及表名的實現(xiàn),通過靈活運用Mybatis提供的動態(tài)SQL功能,我們可以構建更加靈活、高效的查詢語句,具有一定的參考價值,感興趣的小伙伴們可以參考一下

Mapper.java

IPage<Map<String, Object>> getDyData(@Param("page") Page page, @Param("columns")String columns, @Param("tableName")String tableName);

Mapper.xml

<select id="getDyData" resultType="java.util.Map">
select 
     ${columns}
from 
    ${tableName}  dy
</select>

使用場景:

1.我們必須知道查詢的表名,可以通過表名查詢字段及注釋,然后把表名和字段傳進mapper

2.如果知道具體查詢哪些表,可以把這些表及表對應的字段配置進一張表和字段對應的表中,通過表名查詢該表取出對應的字段及注釋,此處的字段注釋可以自己寫相對比較靈活。

DROP TABLE IF EXISTS `table_colume_mapping`;
CREATE TABLE `table_colume_mapping`  (
  `table_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '表名',
  `column_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '字段名',
  `column_comment` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '字段漢語名',
  `table_comment` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '表名注釋',
  `sort` int(10) NULL DEFAULT NULL COMMENT '字段排序',
  `show_column` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '是' COMMENT '是否展示在列',
  `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '0存在1刪除'
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '表字段注釋映射' ROW_FORMAT = Dynamic;

SET FOREIGN_KEY_CHECKS = 1;

調用 

LambdaQueryWrapper<TableColumeMapping> wrapper = new LambdaQueryWrapper<>();
			wrapper.eq(TableColumeMapping::getTableName, "查詢的表名");
			List<TableColumeMapping> list = SpringContextHolder.getBean(TableColumeMapping.class).list(wrapper);
Map<String, TableColumeMapping> tableColumeMap = list.stream().collect(Collectors.toMap(TableColumMapperPerson::getColumnName, account -> account));
String columnNames = list.stream().map(item -> "dy."+item.getColumnName()).collect(Collectors.joining(","));
IPage<Map<String, Object>> result = this.baseMapper.getDyData(page,columnNames,"查詢的表名");

到此這篇關于Mybatis動態(tài)查詢字段及表名的實現(xiàn)的文章就介紹到這了,更多相關Mybatis動態(tài)查詢字段及表名內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 解析Java中的Field類和Method類

    解析Java中的Field類和Method類

    這篇文章主要介紹了Java中的Field類和Method類,是Java入門學習中的基礎知識,需要的朋友可以參考下
    2015-12-12
  • java驗證碼生成具體代碼

    java驗證碼生成具體代碼

    這篇文章主要為大家分享了java驗證碼生成具體代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-04-04
  • 使用mybatis-plus-generator進行代碼自動生成的方法

    使用mybatis-plus-generator進行代碼自動生成的方法

    這篇文章主要介紹了使用mybatis-plus-generator進行代碼自動生成的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • 一文帶你學會Java網(wǎng)絡編程

    一文帶你學會Java網(wǎng)絡編程

    網(wǎng)絡編程是指編寫運行在多個設備(計算機)的程序,這些設備都通過網(wǎng)絡連接起來。這篇文章將帶大家深入了解一下Java的網(wǎng)絡編程,需要的可以了解一下
    2022-08-08
  • Java中的魔法值解決

    Java中的魔法值解決

    這篇文章主要介紹了Java中的魔法值解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • 詳解如何將Spring Boot應用跑在Docker容器中

    詳解如何將Spring Boot應用跑在Docker容器中

    這篇文章主要介紹了詳解如何將Spring Boot應用跑在Docker容器中,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • Java實現(xiàn)雙向鏈表(兩個版本)

    Java實現(xiàn)雙向鏈表(兩個版本)

    這篇文章主要介紹了Java實現(xiàn)雙向鏈表(兩個版本)的相關資料,需要的朋友可以參考下
    2016-02-02
  • java實現(xiàn)字符串匹配求兩個字符串的最大公共子串

    java實現(xiàn)字符串匹配求兩個字符串的最大公共子串

    這篇文章主要介紹了java實現(xiàn)求兩個字符串最大公共子串的方法,詳細的描述了兩個字符串的最大公共子串算法的實現(xiàn),需要的朋友可以參考下
    2016-10-10
  • JAVA?ImageIO.read方法報錯/無效問題及解決

    JAVA?ImageIO.read方法報錯/無效問題及解決

    這篇文章主要介紹了JAVA?ImageIO.read方法報錯/無效問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Java設計模式之享元模式(Flyweight Pattern)詳解

    Java設計模式之享元模式(Flyweight Pattern)詳解

    享元模式(Flyweight Pattern)是一種結構型設計模式,旨在減少對象的數(shù)量,以節(jié)省內存空間和提高性能,本文將詳細的給大家介紹一下Java享元模式,需要的朋友可以參考下
    2023-07-07

最新評論