(Translated by https://www.hiragana.jp/)
MyBatis - 维基百科,自由的百科全书 とべ转到内容ないよう

MyBatis

本页使用了标题或全文手工转换
维基百科ひゃっか自由じゆうてき百科ひゃっかぜん
MyBatis
開發かいはつしゃMyBatis团队
とうぜん版本はんぽん
  • 3.5.16 (2024ねん4がつ4にち;穩定版本はんぽん)[1]
編輯維基數據鏈接
みなもとだい码库 編輯維基數據鏈接
编程语言Java
操作そうさけいまたが平台ひらだい
类型持久じきゅうかまち
许可协议Apache许可证 2.0
网站https://mybatis.org/mybatis-3/zh_CN/

MyBatisいちJava持久じきゅうかまち,它通过XML描述ある注解ちゅうかい对象あずかそん储过ほどあるSQL语句关联おこりらいうつなり資料しりょう內對おうてきろく[2]:226

MyBatisざいApache许可证 2.0下分しもぶん发的自由じゆう软件iBATIS 3.0てきぶんささえ版本はんぽん,其维护团队也包含ほうがんiBATISてきはつ创成员。[3]

こうのうがい

[编辑]

あずか其他对象关系うつかまち不同ふどう,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发布,其开发团队宣布せんぷかいざいしんてき名字みょうじしんてき站点ちゅう继续开发[4]

2013ねん11がつ10日とおか,项目迁移いたりょうGitHub[5]

まいり

[编辑]

ちゅうあし

[编辑]
  1. ^ 译作“MyBatisすうすえ库迁移管いかん理工りこう”。
  2. ^ そくしき迁移えいSchema migration

参考さんこう文献ぶんけん

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

外部がいぶ链接

[编辑]