- MyBatis官方入门教程
- MyBatis XML 配置详解
- MyBatis XML 映射文件详解
- MyBatis 动态 SQL详解
- MyBatis Java API详解
- Mybatis SQL 语句构建器
- MyBatis 日志配置
开源项目
知识点
相关文章
更多最近更新
更多MyBatis-Spring简介
2019-05-06 23:24|来源: 网路
简介
What is MyBatis-Spring?
MyBatis-Spring 会帮助你将 MyBatis 代码无缝地整合到 Spring 中。 使用这个类库中的类, Spring 将会加载必要的 MyBatis 工厂类和 session 类。 这个类库也提供一个简单的方式来注入 MyBatis 数据映射器和 SqlSession 到业务层的 bean 中。 而且它也会处理事务, 翻译 MyBatis 的异常到 Spring 的 DataAccessException 异常(数据访问异常,译者注)中。最终,它并 不会依赖于 MyBatis,Spring 或 MyBatis-Spring 来构建应用程序代码。
Motivation
正如第二版那样,Spring 3.0 也仅支持 iBatis2。那么,我们就想将 MyBatis3 的支持添加 到 Spring3.0(参考 Spring Jira 中的问题)中。而不幸的是,Spring 3.0 的开发在 MyBatis 3.0 官方发布前就结束了。 因为 Spring 开发团队不想发布一个基于非发布版的 MyBatis 的整合支 持,那么 Spring 官方的支持就不得不继续等待了。要在 Spring 中支持 MyBatis,MyBatis 社 区认为现在应该是自己团结贡献者和有兴趣的人一起来开始将 Spring 的整合作为 MyBatis 社 区的子项目的时候了。
Requirements
在开始使用 MyBatis-Spring 的整合之前,很重要的一点是,你要熟悉 Spring 和 MyBatis 这两个框架还有和它们有关的术语,本手册中不会提供二者的基本内容,安装和配置教程。
MyBatis-Spring要求Java5及以上版本还有下面列出的MyBatis和Spring版本:
MyBatis-Spring | MyBatis | Spring |
---|---|---|
1.0.0 或 1.0.1 | 3.0.1 到 3.0.5 | 3.0.0 或以上 |
1.0.2 | 3.0.6 | 3.0.0 或以上 |
1.1.0 | 3.1.0 或以上 | 3.0.0 或以上 |
Acknowledgements
特别感谢那些使得本项目成为现实的人们(按字母顺序排序)。 Eduardo Macarron, Hunter Presnall和Putthibong Boonbong的编码, 测试和文档修改工作; Andrius Juozapaitis, Giovanni Cuccu,Raj Nagappan和Tomas Pinos的贡献;而Simone Tripodi发现了这些人并 把他们带入项目之中。没有他们的努力,这个项目是不可能存在的。
Help make this documentation better…
如果你以任何方式发现文档的缺失,或者文档缺少某一个功能点,最好的方式是你学习它 并自己写文档!
手册的xdoc方式的来源可用地址: project's Git Fork仓库,更新它并提交合并的请求吧。
你是该文档最好的作者,像你一样大家都要阅读它!
相关问答
更多-
如何导入
mybatis-spring [2024-04-11]mybatis是是数据持久层的框架,它本质上也是通过jdbc进行数据库连接的,只不过做了封装,更加的简单,所有也需要引入jdbc的jar包。 -
mybatis-spring支持mysql 什么版本[2023-10-12]
public ApplicationContext ac = new ClassPathXmlApplicationContext(new String[] {"mybatis-spring.xml","spring.xml"}); StudentService studentService =(StudentService)ac.getBean("studentService"); -
给定的sqlSessionFactory只能关联一个数据源。 但这不是主要问题。 主要问题是本地缓存与mybatis会话相关联 。 因此,当您使用两个不同的会话时,您将拥有两个不同的本地缓存 - 每个会话一个,并且有一个sqlSessionFactory将无济于事。 您应该考虑的选项是为只读会话设置localCacheScope = STATEMENT。 在这种情况下,它不会在执行查询后缓存结果。 为了能够仍然使用缓存,可以使用自定义适配器为某些全局配置的缓存或使用全局缓存(例如ehcache)的现有缓存适 ...
-
MyBatis-Spring插入对象列表并检索其新ID(MyBatis-Spring insert a list of objects and retrieve their new IDs)[2023-05-16]
如果列表大小不是太大,请在java代码中执行循环插入 for(Bean bean : list){ list.insert(bean); } 在mapper.xml中插入方法应该添加SELECT LAST_INSERT_ID() If the list size is not too large, do loop i ... -
在这里查看Spring MyBatis的pom.xml ,我可以看到该项目本身依赖于Spring 3.2.9: ...
3.2.9.RELEASE ...org.springframework spring-context ${spring.version} p ... -
您应该查看jpetstore代码结构的样子。 Mapper接口用于映射xml配置中定义的sql语句,然后您可以简单地将自动创建的映射器bean注入或自动装入DAO bean。 让我们说(假设mapper接口是MyMapper):你可以在myproject.persistence包下的PersonMapper.xml中定义你的sql(注意:接口应该与xml在同一个包中)。
MyBatis-Spring回滚不适用于多个事务管理器(MyBatis-Spring rollback not working with multiple transaction managers)[2022-09-02]
我在 @RisingDragon找到了解决方案: “如果你从另一个本地方法调用它,那么它将无法工作,因为spring无法知道它被调用并启动事务。 如果你是通过使用包含insertNotes()方法的类的自动对象从另一个类的方法调用它,那么它应该工作。“ 在我的例子中,我创建了第二个类 (例如RisingDragom的NoteClass)和一些@Transactional方法(例如我的代码中的insertUser)然后,回滚工作了!! 第二类出现在调试器中,尾部为“$$ EnhancedByCGLib” 。 ...经过大量的搜索,不像这个链接中给出的可能适用于旧版本或iBatis的解决方案(但这不适用于最新版本),我发现myBatis 3.xx根本不支持返回自动生成id /插入键。 相反,它返回更新的数字行,因此在我的情况下它返回1.您可以在此链接上阅读更多内容。 After doing a lot of search, unlike the solution given in this link which might work for older versions or iBatis(but this does ...如何使用MyBatis-Spring在MyBatis中配置2个数据库(How to configure 2 databases in MyBatis using MyBatis-Spring)[2022-04-17]
您的配置大多是正确的。 您遇到的问题是您使用自动装配来注入一个callService依赖项。 似乎您使用SqlSessionDaoSupport并且其sqlSessionTemplate字段是自动装配的。 定义了两个模板,因此spring无法自动连接依赖项。 您需要手动指定正确的模板。 Your configuration is mostly correct. The problem you face is that you use autowiring to inject one of callServi ...