MyBatis
MyBatis | |
3.5.11(2022 | |
Java | |
Apache | |
https://mybatis.org/mybatis-3/zh_CN/ |
MyBatis
MyBatis
功 能 概況
[MyBatis
MyBatis
用法
[SQL
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 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>
也可以
Blog blog = session.selectOne("org.mybatis.example.BlogMapper.selectBlog", 101);
與 Spring集成
[MyBatis
如下
<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>
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
<select id="findPerson" lang="velocity">
#set( $pattern = $_parameter.name + '%' )
SELECT *
FROM person
WHERE name LIKE @{pattern, jdbcType=VARCHAR}
</select>
MyBatis生成 器
[MyBatis
MyBatis Migrations
[MyBatis Migrations[註 1]
Migrations
歷史
[MyBatis
2010
參 見
[- Hibernate
- iBATIS
- JDBC
- Java
持久 化 API(JPA) - EclipseLink
- Ebean
面 向 Java對象 查詢(jOOQ)- Apache Cayenne
- pureQuery
- NHydrate
- Hydrate(
頁 面 存 檔備份,存 於網 際 網 路 檔案館 ) - OpenJPA
- Spring Framework
- Google Guice
- O/R Broker
- ObjectiveSql (
頁 面 存 檔備份,存 於網 際 網 路 檔案館 )
註腳
[參考 文獻
[- ^
周 冠 亞 、黃 文 毅 . Spring 5企業 級 開發 實戰 .清華 大學 出版 社 . 2019. ISBN 9787302531029. - ^ iBATIS Home. ibatis.apache.org. [2020-11-11]. (
原始 內容存 檔於2020-07-11). - ^ iBATIS Project Team Moving to Google Code. [2014-04-08]. (
原始 內容存 檔於2016-03-04). - ^ Bye Google Code welcome Github. [2014-04-08]. (
原始 內容存 檔於2013-11-10).