最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mybatis自定義類型轉(zhuǎn)換器的使用技巧

 更新時間:2019年04月17日 09:16:36   作者:吾乃上將軍邢道榮  
這篇文章主要介紹了Mybatis自定義類型轉(zhuǎn)換器的使用技巧,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一般情況下,mybatis自帶的類型轉(zhuǎn)換器已經(jīng)足夠用了,但是需求永無止境,自定義類型轉(zhuǎn)換器還是學(xué)一下吧,指不定哪天會用上。

舉個沒啥用的示例

javabean如下:

public class User {
  private Integer id;
  private Message message;
}

public class Message {
  private Integer id;
  private String address;
  private String job;
}

數(shù)據(jù)庫User表如下:

列名 類型
id int
message varchar

Message對象在java中是一個bean,而在數(shù)據(jù)庫中是一個字符串,這中間需要類型轉(zhuǎn)換一下,所以我的目的是:

通過自定義類型轉(zhuǎn)換器,在存數(shù)據(jù)得到時候自動將message對象轉(zhuǎn)化為字符串類型,存入數(shù)據(jù)庫中。在取數(shù)據(jù)的時候,則自動將字符串轉(zhuǎn)化為Message對象封裝進(jìn)結(jié)果集。

類型轉(zhuǎn)換器:

@MappedTypes(Message.class)
@MappedJdbcTypes(JdbcType.VARCHAR)
public class MessageTypeHandler implements TypeHandler<Message> {
  @Override
  public void setParameter(PreparedStatement ps, int i, Message parameter, JdbcType jdbcType) throws SQLException {
    ps.setString(i, JSON.toJSONString(parameter));
  }

  @Override
  public Message getResult(ResultSet rs, String columnName) throws SQLException {
    return JSON.parseObject(rs.getString(columnName),Message.class);
  }

  @Override
  public Message getResult(ResultSet rs, int columnIndex) throws SQLException {
    return JSON.parseObject(rs.getString(columnIndex),Message.class);
  }

  @Override
  public Message getResult(CallableStatement cs, int columnIndex) throws SQLException {
    return null;
  }
}

在mybatis配置文件中添加如下配置:

  <typeHandlers>
    <typeHandler handler="org.mybatis.***.MessageTypeHandler"/>
  </typeHandlers>

這樣我們就可以直接編寫sql而不用手動去處理類型轉(zhuǎn)換的事情了。

  <insert id="insertUser">
      insert into user (id,message) values (#{id},#{message})
  </insert>

  <select id="getUser" parameterType="int" resultType="org.mybatis.***.mapper.User" >
    select id,message from user where id = #{id}
  </select>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java反射機(jī)制的學(xué)習(xí)總結(jié)

    Java反射機(jī)制的學(xué)習(xí)總結(jié)

    總的來說,java反射機(jī)制是一個很好用的東西,用它可以解決很多死的東西,因?yàn)榉瓷錂C(jī)制的靈活行很大,有了他,我們就不要花太多的時間來寫操做數(shù)據(jù)庫的代碼了,而是方法更多的時間在項(xiàng)目的邏輯功能上,這個可以很大的減少開發(fā)時間,而且代碼的可讀性好
    2013-09-09
  • 關(guān)于Elasticsearch封裝公共索引增刪改查

    關(guān)于Elasticsearch封裝公共索引增刪改查

    索引是Elasticsearch中存儲數(shù)據(jù)的邏輯單元,類似于關(guān)系數(shù)據(jù)庫中的表,它包含多個文檔,每個文檔都是一個結(jié)構(gòu)化的JSON數(shù)據(jù)格式,在實(shí)際應(yīng)用中,索引的使用與配置可以依據(jù)不同的方案進(jìn)行,例如在Spring Boot項(xiàng)目中,可以選擇自動配置或者手動編寫配置類
    2024-10-10
  • 詳解SpringBoot和Mybatis配置多數(shù)據(jù)源

    詳解SpringBoot和Mybatis配置多數(shù)據(jù)源

    本篇文章主要介紹了詳解SpringBoot和Mybatis配置多數(shù)據(jù)源,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • MyBatis批量更新(update foreach)報錯問題

    MyBatis批量更新(update foreach)報錯問題

    這篇文章主要介紹了MyBatis批量更新(update foreach)報錯問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Spring DATA JPA 中findAll 進(jìn)行OrderBy方式

    Spring DATA JPA 中findAll 進(jìn)行OrderBy方式

    這篇文章主要介紹了Spring DATA JPA 中findAll 進(jìn)行OrderBy方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 創(chuàng)建Spring Boot項(xiàng)目的幾種方式總結(jié)(推薦)

    創(chuàng)建Spring Boot項(xiàng)目的幾種方式總結(jié)(推薦)

    這篇文章主要介紹了創(chuàng)建Spring Boot項(xiàng)目的幾種方式總結(jié)(推薦),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Java使用橋接模式實(shí)現(xiàn)開關(guān)和電燈照明功能詳解

    Java使用橋接模式實(shí)現(xiàn)開關(guān)和電燈照明功能詳解

    這篇文章主要介紹了Java使用橋接模式實(shí)現(xiàn)開關(guān)和電燈照明功能,較為詳細(xì)的講述了橋接模式的概念、原理并結(jié)合實(shí)例形式分析了Java使用橋接模式實(shí)現(xiàn)開關(guān)和電燈照明功能相關(guān)操作步驟與注意事項(xiàng),需要的朋友可以參考下
    2018-05-05
  • 使用SpringBoot的CommandLineRunner遇到的坑及解決

    使用SpringBoot的CommandLineRunner遇到的坑及解決

    這篇文章主要介紹了使用SpringBoot的CommandLineRunner遇到的坑及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • JDK8升級JDK17過程中踩到的一些坑

    JDK8升級JDK17過程中踩到的一些坑

    這篇文章主要給大家介紹了關(guān)于JDK8升級JDK17過程中踩到的一些坑,對于一些老的項(xiàng)目,升級到JDK8則存在一些兼容性問題,是否升級需要酌情考慮,需要的朋友可以參考下
    2023-07-07
  • mybatis框架入門學(xué)習(xí)教程

    mybatis框架入門學(xué)習(xí)教程

    MyBatis是一個支持普通SQL查詢,存儲過程和高級映射的優(yōu)秀持久層框架。這篇文章主要介紹了mybatis框架入門學(xué)習(xí)教程,需要的朋友可以參考下
    2017-02-02

最新評論

昌黎县| 财经| 桐城市| 新疆| 南京市| 绥芬河市| 衡山县| 金门县| 康平县| 西畴县| 六安市| 马龙县| 鄂托克前旗| 金乡县| 景东| 长兴县| 搜索| 广平县| 汝南县| 新竹县| 长汀县| 丘北县| 玉林市| 台南县| 泾阳县| 定襄县| 砀山县| 同江市| 龙岩市| 墨脱县| 光泽县| 时尚| 夏津县| 淅川县| 东明县| 颍上县| 莱芜市| 泉州市| 天台县| 葵青区| 陕西省|