(Translated by https://www.hiragana.jp/)
MyBatis - 維基百科,自由的百科全書 とべいたり內容

MyBatis

本頁使用了標題或全文手工轉換
維基百科ひゃっか自由じゆうてき百科全書ひゃっかぜんしょ
MyBatis
開發かいはつしゃMyBatisだんたい
とうぜん版本はんぽん3.5.11(2022ねん9がつ18にち,​2ねんまえ​(2022-09-18
みなもとだい碼庫 編輯維基數據鏈接
へんほどげんJava
操作そうさ系統けいとうまたが平台ひらだい
類型るいけい持久じきゅうかまち
許可きょか協議きょうぎApache許可きょかしょう 2.0
あみhttps://mybatis.org/mybatis-3/zh_CN/

MyBatisいちJava持久じきゅうかまち,它通過つうかXML描述ある註解ちゅうかい對象たいしょうあずかそんもうか過程かていあるSQL語句ごく關聯かんれんおこりらいうつなり資料しりょう內對おうてきろく[1]:226

MyBatisざいApache許可きょかしょう 2.0下分しもぶんはつてき自由じゆう軟件iBATIS 3.0てきぶんささえ版本はんぽん,其維まもるだんたい包含ほうがんiBATISてきはつ創成そうせいいん[2]

こうのう概況がいきょう

[編輯へんしゅう]

あずか其他對象たいしょう關係かんけいうつかまち不同ふどう,MyBatisぼつゆうしょうJava對象たいしょうあずかかずよりどころおもて關聯かんれんおこりらい,而是はたJava方法ほうほうあずかSQL語句ごく關聯かんれん。MyBatis允許いんきょよう充分じゅうぶん利用りようかずよりどころてき各種かくしゅこうのうれい如存もうか過程かてい各種かくしゅ複雜ふくざつてき查詢以及ぼうすうよりどころてき專有せんゆう特性とくせい。如果ようたい遺留いりゅうすうよりどころ規範きはんてきすうよりどころ進行しんこう操作そうさあるものよう完全かんぜんひかえせいSQLてき執行しっこう,MyBatisいち錯的選擇せんたく

あずかJDBCそう,MyBatis簡化りょう相關そうかんだい碼:SQL語句ごくざい一行代碼中就能執行。MyBatis提供ていきょうりょう一個映射引擎,聲明せいめいしきてきSQL語句ごく執行しっこう結果けっかあずか對象たいしょうじゅうつおこりらい通過つうか使用しよういちしゅ內建てきるいXMLひょうたちしきげんあるもの使用しようApache Velocity集成しゅうせいてき插件,SQL語句ごく以被動態どうたいてき生成せいせい

MyBatisあずかSpring FrameworkGoogle Guice英語えいごGoogle Guice集成しゅうせい,這使開發かいはつしゃめん依賴いらいせい問題もんだい

MyBatis支持しじ聲明せいめいしきすうよりどころなるそん(declarative data caching)。とういちじょうSQL語句ごく標記ひょうきためなるそんしゅ執行しっこう它時したがえすうよりどころ取得しゅとくてき所有しょゆうすうよりどころかいそんもうかざいいちだん高速こうそくなるそんなか今後こんご執行しっこう這條語句ごく就會したがえ高速こうそくなるそんちゅう讀取よみと結果けっか,而不さいつぎ命中めいちゅうすうよりどころ。MyBatis提供ていきょうりょうもと於 Java HashMap てき默認もくにんなるそん實現じつげん,以及よう於與OSCache英語えいごOSCacheEhcache英語えいごEhcacheHazelcast英語えいごHazelcastMemcached連接れんせつてき默認もくにん連接れんせつ。MyBatisかえ提供ていきょうAPIきょう其他なるそん實現じつげん使用しよう

用法ようほう

[編輯へんしゅう]

SQL語句ごくそんもうかざいXMLぶんけんあるJava 註解ちゅうかいなかいちMyBatisうつ射的しゃてきしめせれい(其中よういたりょうJavaせっこうかずMyBatis註解ちゅうかい):

package org.mybatis.example;

public interface BlogMapper {
    @Select("select * from Blog where id = #{id}")
    Blog selectBlog(int id);
}

執行しっこうてきしめせれい

BlogMapper mapper = session.getMapper(BlogMapper.class);
Blog blog = mapper.selectBlog(101);

SQL語句ごくうつ也可以外いがいいたいちXMLぶんけんちゅう

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="org.mybatis.example.BlogMapper">
    <select id="selectBlog" parameterType="int" resultType="Blog">
        select * from Blog where id = #{id}
    </select>
</mapper>

也可以使用しようMyBatis API執行しっこう語句ごく

Blog blog = session.selectOne("org.mybatis.example.BlogMapper.selectBlog", 101);

詳細しょうさいしんじいき參考さんこうMyBatisもう站所提供ていきょうてきよう戶手とでさつまいり外部がいぶ連結れんけつ

あずかSpring集成しゅうせい

[編輯へんしゅう]

MyBatisあずかSpring Framework集成しゅうせい。Spring Framework允許いんきょMyBatis參與さんよSpring事務じむ建立こんりゅうりょうMyBatisうつ會話かいわなみ注入ちゅうにゅういた其他beanなか

如下しょしめせいち基本きほんてきXML配置はいちしめせれい建立こんりゅうりょううつなみ注入ちゅうにゅういた「BlogService」beanなか

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
</bean>

<bean id="blogMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
    <property name="sqlSessionFactory" ref="sqlSessionFactory" />
    <property name="mapperInterface" value="org.mybatis.example.BlogMapper" />
</bean>

<bean id="blogService" class="org.mybatis.example.BlogServiceImpl">
    <property name="blogMapper" ref="blogMapper" />
</bean>

現在げんざい調ちょうようMyBatisただ需要じゅよう調ちょうよういちbean:

public class BlogServiceImpl implements BlogService {

    private BlogMapper blogMapper;

    public void setBlogMapper(BlogMapper blogMapper) {
        this.blogMapper = blogMapper;
    }

    public void doSomethingWithABlog(int blogId) {
        Blog blog = blogMapper.selectBlog(blogId);
        ...
    }
}

Velocityげん

[編輯へんしゅう]

Velocityげん驅動くどうほどじょ允許いんきょよう使用しようApache Velocityらい快速かいそく生成せいせい動態どうたいSQL查詢。

<select id="findPerson" lang="velocity">
  #set( $pattern = $_parameter.name + '%' )
  SELECT *
  FROM person
  WHERE name LIKE @{pattern, jdbcType=VARCHAR}
</select>

MyBatis生成せいせい

[編輯へんしゅう]

MyBatis提供ていきょうりょうだい生成せいせい。MyBatis生成せいせい(MyBatis Generator)のう對數たいすうよりどころひょう內省,生成せいせい執行しっこうてきぞう刪改查英語えいごCreate, read, update and delete(CRUD)しょ需的MyBatisだい碼。ゆう相關そうかんてきEclipse插件きょう使用しよう

MyBatis Migrations

[編輯へんしゅう]

MyBatis Migrations[註 1]いちJavaひかえせいだい應用おうようほどじょ,它通過つうか管理かんりかずよりどころ定義ていぎげん(DDL)ぶんけんらい跟蹤かずよりどころしき英語えいごDatabase schemaてき變更へんこう[註 2]

Migrations以查詢當まえすうよりどころてき狀態じょうたい應用おうようある恢復かいふくたいかずよりどころしき英語えいごDatabase schemaてき變更へんこう。它也ゆうじょ於發現和げんな解決かいけつよし開發かいはつ人員じんいん並行へいこうおさむあらためすうよりどころしきてき情況じょうきょう

歷史れきし

[編輯へんしゅう]

MyBatis項目こうもく繼承けいしょうiBATIS 3.0,其維まもるだんたい包含ほうがんiBATISてきはつ創成そうせいいん

2010ねん5がつ19にち項目こうもく創建そうけん當時とうじApache iBATIS 3.0發布はっぷ,其開發かいはつだんたい宣布せんぷかいざいしんてき名字みょうじしんてき站點ちゅう繼續けいぞく開發かいはつ[3]

2013ねん11がつ10日とおか項目こうもく遷移せんいいたりょうGitHub[4]

まいり

[編輯へんしゅう]
  1. ^ やくさく「MyBatisすうよりどころ遷移せんい管理かんり工具こうぐ」。
  2. ^ そくしき遷移せんい英語えいごSchema migration

參考さんこう文獻ぶんけん

[編輯へんしゅう]
  1. ^ しゅうかんむりぶんあつし. Spring 5企業きぎょうきゅう開發かいはつ實戰じっせん. 清華せいか大學だいがく出版しゅっぱんしゃ. 2019. ISBN 9787302531029. 
  2. ^ iBATIS Home. ibatis.apache.org. [2020-11-11]. (原始げんし內容そん於2020-07-11). 
  3. ^ iBATIS Project Team Moving to Google Code. [2014-04-08]. (原始げんし內容そん於2016-03-04). 
  4. ^ Bye Google Code welcome Github. [2014-04-08]. (原始げんし內容そん於2013-11-10). 

外部がいぶ連結れんけつ

[編輯へんしゅう]