有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪" />

亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MyBatis mapping類基本用法

 更新時間:2023年09月24日 10:50:33   作者:channingbj  
這篇文章主要為大家介紹了MyBatis mapping類基本用法示例詳解,
有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

定義mapping類

MyBatis 有兩種定義查詢結(jié)果到 Java 類的映射關(guān)系的方式,一種是通過xml文件定義,一種是通過Java annonation 定義,這里使用第二種方法。

現(xiàn)在我們有一張mysql的表定義如下:

CREATE TABLE `MY_BATIS_TEST` (
  `id` varchar(255) NOT NULL DEFAULT '',
  `url` varchar(255) DEFAULT NULL
)

首先定義table一條數(shù)據(jù)在Java中對應的class

public class Redord {
    public String url;
}

定義sql查詢到Java class 結(jié)果集合的映射:

public interface SimpleMapper {
    @Select("select url from testdb.MY_BATIS_TEST limit 1;")
    Redord selectOneRecord();
    @Select("select url from testdb.MY_BATIS_TEST;")
    Set<Record> selectRecords();
    @Select("select url from testdb.MY_BATIS_TEST where id=#{id};")
    Record selectRecordByID(int id);
}

初始化并注冊mapping類

Properties properties = new Properties();
properties.setProperty("driver", "com.mysql.jdbc.Driver");
properties.setProperty("url", "jdbc:mysql://127.0.0.1:3306/testdb");
properties.setProperty("username", "the_user_name");
properties.setProperty("password", "the_password");
PooledDataSourceFactory pooledDataSourceFactory = new PooledDataSourceFactory();
pooledDataSourceFactory.setProperties(properties);
DataSource dataSource = pooledDataSourceFactory.getDataSource();
Environment environment = new Environment("development", new JdbcTransactionFactory(), dataSource);

Configuration configuration = new Configuration(environment);
configuration.addMapper(SimpleMapper.class); //注冊mapping類

SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);

從mysql中查詢數(shù)據(jù)

SqlSession session = sqlSessionFactory.openSession();
try{
    PluginMapper mapper = session.getMapper(PluginMapper.class);
    Plugin pl = mapper.selectPluginsByID(1000);
    System.out.println(pl.url);
} finally {
    session.close();
}

全局唯一以及線程安全

SqlSessionFactory 可以在整個app的生命周期中只創(chuàng)建一次,SqlSession需要在每次執(zhí)行sql的函數(shù)中創(chuàng)建一次并且使用后需要進行關(guān)閉:

SqlSession session = sqlSessionFactory.openSession();
try {
  // do work
} finally {
  session.close();
}

以上就是MyBatis mapping類基本用法的詳細內(nèi)容,更多關(guān)于MyBatis mapping類的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Java中深拷貝,淺拷貝與引用拷貝的區(qū)別詳解

    Java中深拷貝,淺拷貝與引用拷貝的區(qū)別詳解

    這篇文章主要為大家詳細介紹了Java面試中常遇見的問題:深拷貝、淺拷貝與引用拷貝的區(qū)別,文中通過示例進行了詳細講解,需要的可以參考一下
    2022-08-08
  • java如何通過FileOutputStream字節(jié)流向文件中寫數(shù)據(jù)

    java如何通過FileOutputStream字節(jié)流向文件中寫數(shù)據(jù)

    這篇文章主要介紹了java如何通過FileOutputStream字節(jié)流向文件中寫數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • IDEA?服務器熱部署圖文詳解(On?Update?action/On?frame?deactivation)

    IDEA?服務器熱部署圖文詳解(On?Update?action/On?frame?deactivation)

    這篇文章主要介紹了IDEA?服務器熱部署詳解(On?Update?action/On?frame?deactivation),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • Spring3?中?RabbitMQ?的使用與常見場景分析

    Spring3?中?RabbitMQ?的使用與常見場景分析

    本文介紹了Spring3中RabbitMQ的使用,涵蓋了RabbitMQ的基本知識、五種模式、數(shù)據(jù)隔離、消費者確認、死信交換機、延遲功能、消息堆積解決方法、高可用性以及消息重復消費問題的解決方案,感興趣的朋友跟隨小編一起看看吧
    2025-02-02
  • JAVA生成xml文件簡單示例

    JAVA生成xml文件簡單示例

    這篇文章主要介紹了JAVA生成xml文件的相關(guān)資料,在Java中可以使用DOM或者JDOM來生成XML文件,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-07-07
  • resty upload無需依賴的文件上傳與下載

    resty upload無需依賴的文件上傳與下載

    這篇文章主要為大家介紹了resty upload中無需依賴的文件上傳與下載過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助祝大家多多進步,早日升職加薪
    2022-03-03
  • java實現(xiàn)順時針打印矩陣

    java實現(xiàn)順時針打印矩陣

    這篇文章主要為大家詳細介紹了java實現(xiàn)順時針打印矩陣的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • C/C++中的struct結(jié)構(gòu)體詳細解讀

    C/C++中的struct結(jié)構(gòu)體詳細解讀

    這篇文章主要介紹了C/C++中的struct結(jié)構(gòu)體詳細解讀,結(jié)構(gòu)體是由一批數(shù)據(jù)組合而成的結(jié)構(gòu)型數(shù)據(jù),組成結(jié)構(gòu)型數(shù)據(jù)的每個數(shù)據(jù)稱為結(jié)構(gòu)型數(shù)據(jù)的“成員”,其描述了一塊內(nèi)存區(qū)間的大小及意義,需要的朋友可以參考下
    2023-10-10
  • Java設計模式之責任鏈模式(Chain of Responsibility模式)介紹

    Java設計模式之責任鏈模式(Chain of Responsibility模式)介紹

    這篇文章主要介紹了Java設計模式之責任鏈模式(Chain of Responsibility模式)介紹,本文講解了如何使用責任鏈模式,并給出了4種使用實例,需要的朋友可以參考下
    2015-03-03
  • 關(guān)于jvm內(nèi)存如何查看

    關(guān)于jvm內(nèi)存如何查看

    本文介紹了如何在Java虛擬機(JVM)中進行內(nèi)存管理,包括查看JVM內(nèi)存情況的常用方法和工具,這些方法包括使用JDK自帶的工具如jps、jstat、jmap和jconsole,以及一些第三方監(jiān)控工具如Prometheus、Grafana和ElasticStack等,通過這些方法
    2024-09-09

最新評論