摘要
MyBatis 的前身是iBatis,iBatis是Apache软件基金会下的一个开源项目。2010年该项目从 Apache基金会迁出,并改名为MyBatis。同期,iBatis停止维护。MyBatis是一种半自动化的Java持久层框架( persistenceframework ),其通过注解或XML的方式将对象和SQL关联起来。之所以说它是半自动的,是因为和Hibernate等一些可自动生成SQL的ORM(ObjectRelationalMapping)框架相比,使用MyBatis需要用户自行维护SQL.维护SQL的工作比较繁琐,但也有好处。比如我们可控制SQL逻辑,可对其进行优化,以提高效率。
使用MyBatis访问数据库
SELECT
`id` , `title`, `author`, `content` , `create_time`FROM
article`wHERE
`author` = #{author} AND ^`create_time`> #{createTime}
public interface ArticleDao {
List findByAuthorAndCreateTime(@Param("author" ) String author,
@Param( " createTime" ) String createTime) ;
}
< / environments>
在实际开发中,我们一般会将MyBatis和Spring整合在一起使用。这样,我们可以通过bean注入的方式使用各种Dao接口。MyBatis和 Spring原本是两个完全不相关的框架,要想把两者整合起来,需要一个中间框架。这个框架一方面负责加载和解析 MyBatis相关配置。另一方面,该框架还会通过Spring 提供的拓展点,把各种Dao接口及其对应的对象放入 bean工厂中。这样,我们才可以通过bean注入的方式获取到这些Dao接口对应的bean。那么问题来了,具有如此能力的框架是谁呢?答案是mybatis-springo