java - 关于mybatis拦截器,有谁知道怎么对结果集进行拦截,将指定字段查询结果进行格式化
阿神
阿神 2017-04-18 10:35:21
0
2
819
阿神
阿神

闭关修行中......

全員に返信(2)
小葫芦

このような要件を満たすために MyBatis 結果セット インターセプターを使用します: MyBatis结果集拦截器做过这样一个需求:

由于项目需求经常变动,项目MySQL数据库都是存放JSON字符串,例如:用户的基本信息随着版本升级可能会有变动

数据表

CREATE TABLE `account` (
  `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT,
  `infos` text NOT NULL COMMENT '用户JSON基本信息',
  `createTime` int(10) unsigned NOT NULL COMMENT '创建时间',
  `updateTime` int(10) unsigned NOT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

数据:

id infos createTime updateTime
1 {"nickName":"Jan","region_area":"","region_city":"深圳市","region_country":"中国","region_province":"广东省","sex":"男","signature":"只要不放弃就还有机会!"} 1467793564 1470795733

JSONPlugin拦截器

使用MyBatis拦截器对ResultSetHandler接口的handleResultSets

プロジェクトの要件が頻繁に変更されるため、プロジェクトの MySQL データベースには、たとえば、バージョンのアップグレードによってユーザーの基本情報が変更される可能性があります

。 データシート

リーリー

データ:

id 情報 createTime 更新時間 1 {"nickName":"1 月","re​​gion_area":"","re​​gion_city":"深セン市","re​​gion_country":"中国","re​​gion_province":"広東省", "sex":"male","signature":"諦めなければまだチャンスはある!"} 1467793564 1470795733 テーブル>

JSONプラグインインターセプター🎜 🎜MyBatis インターセプターを使用して、ResultSetHandler インターフェイスの handleResultSets メソッドをインターセプトします。 リーリー 🎜mybatis-config.xml🎜 🎜mybatis設定ファイルにプラグインを登録します: 🎜 リーリー 🎜テスト出力🎜 リーリー
いいねを押す +0
洪涛

Mybatis を使用して次の要件を達成しますMybatis实现过如下需求

查询用户基本信息表,查询结果返回是List<Map<String,Object>>的结果集,对其中的某个字段进行加密

数据表

CREATE TABLE usr_basic_inf(
    USR_ID               VARCHAR(20)       NOT NULL      COMMENT '用户ID,01+18位互斥随机数'    ,
    USR_REAL_NME         VARCHAR(50)       NOT NULL      COMMENT '用户真实姓名'              ,
    CERT_TYPE            VARCHAR(4)                      COMMENT '证件种类'                ,
    CERT_NO              VARCHAR(100)                    COMMENT '证件号码'                ,
    RES_FLD              VARCHAR(300)                    COMMENT '预留字段 '               ,
    PRIMARY KEY(USR_ID)
) COMMENT='用户基础信息表';

数据

USR_ID USR_REAL_NME CERT_TYPE CERT_NO RES_FLD
01000000000000000001 张三 0101 101222010199913291 (NULL)

使用MybatisExecutor.class'qurey'

ユーザー基本情報テーブルをクエリすると、クエリ結果は List<Map<String,Object>> の結果セットを返し、その中の特定のフィールドを暗号化します

データシート

リーリー

データ

USR_ID USR_REAL_NME CERT_TYPE CERT_NO RES_FLD 01000000000000000001 張三 0101 101222010199913291 (NULL) テーブル>

Mybatis を使用して、Executor.class'qurey' メソッドをインターセプトし、返された結果セットを処理します🎜 リーリー 🎜mybatis-config.xml🎜 🎜mybatis設定ファイルにプラグインを登録します: 🎜 リーリー 🎜テスト出力🎜 リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート