mybatis
mybatis
yaoshengting
这个作者很懒,什么都没留下…
展开
-
mybatis及mybatis-plus加载mapper过程图
原创 2020-11-02 20:57:35 · 743 阅读 · 0 评论 -
MyBatis-spring之使用 MyBatis API
使用 MyBatis-Spring,你可以继续直接使用 MyBatis 的 API。只需简单地使用SqlSessionFactoryBean在 Spring 中创建一个SqlSessionFactory,然后按你的方式在代码中使用工厂即可。public class UserDaoImpl implements UserDao { // SqlSessionFactory 一般会由 ...转载 2019-12-08 21:00:24 · 219 阅读 · 0 评论 -
MyBatis-spring之注入映射器
与其在数据访问对象(DAO)中手工编写使用SqlSessionDaoSupport或SqlSessionTemplate的代码,还不如让 Mybatis-Spring 为你创建一个线程安全的映射器,这样你就可以直接注入到其它的 bean 中了:<bean id="fooService" class="org.mybatis.spring.sample.service.FooSe...原创 2019-12-08 20:56:39 · 275 阅读 · 0 评论 -
MyBatis-spring之使用 SqlSession
SqlSessionTemplateSqlSessionTemplate是 MyBatis-Spring 的核心。作为SqlSession的一个实现,这意味着可以使用它无缝代替你代码中已经在使用的SqlSession。SqlSessionTemplate是线程安全的,可以被多个 DAO 或映射器所共享使用。当调用 SQL 方法时(包括由getMapper()方法返回的映射器中...原创 2019-12-08 20:20:00 · 908 阅读 · 0 评论 -
MyBatis-Spring之事务
事务一个使用 MyBatis-Spring 的其中一个主要原因是它允许 MyBatis 参与到 Spring 的事务管理中。而不是给 MyBatis 创建一个新的专用事务管理器,MyBatis-Spring 借助了 Spring 中的 DataSourceTransactionManager 来实现事务管理。一旦配置好了 Spring 的事务管理器,你就可以在 Spring 中按你平时的方...原创 2019-12-08 19:46:40 · 361 阅读 · 0 评论 -
MyBatis-spring之SqlSessionFactoryBean
在基础的 MyBatis 用法中,是通过SqlSessionFactoryBuilder来创建SqlSessionFactory的。 而在 MyBatis-Spring 中,则使用SqlSessionFactoryBean来创建。常用属性DataSourceSqlSessionFactory有一个唯一的必要属性:用于 JDBC 的DataSource。这可以是任意的Da...原创 2019-12-08 19:10:50 · 636 阅读 · 0 评论 -
MyBatis-Spring简介
MyBatis-Spring 会帮助你将 MyBatis 代码无缝地整合到 Spring 中。它将允许 MyBatis 参与到 Spring 的事务管理之中,创建映射器 mapper 和SqlSession并注入到 bean 中,以及将 Mybatis 的异常转换为 Spring 的DataAccessException。最终,可以做到应用代码不依赖于 MyBatis,Spr...原创 2019-12-08 18:40:30 · 212 阅读 · 0 评论 -
MyBatis XML映射文件之结果映射
结果映射resultMap元素是 MyBatis 中最重要最强大的元素。ResultMap 的设计思想是,对于简单的语句根本不需要配置显式的结果映射,而对于复杂一点的语句只需要描述它们的关系就行了。你已经见过简单映射语句的示例了,但并没有显式指定resultMap。比如:<select id="selectUsers" resultType="map"> sele...原创 2019-12-08 15:03:36 · 602 阅读 · 0 评论 -
MyBatis Xml映射文件之字符串替换
字符串替换默认情况下,使用#{}格式的语法会导致 MyBatis 创建PreparedStatement参数占位符并安全地设置参数(就像使用 ? 一样)。 这样做更安全,更迅速,通常也是首选做法,不过有时你就是想直接在 SQL 语句中插入一个不转义的字符串。 比如,像 ORDER BY,你可以这样来使用:ORDER BY ${columnName}这里 MyBatis 不会修...原创 2019-12-01 17:58:02 · 1901 阅读 · 0 评论 -
MyBatis XML映射文件
MyBatis 的真正强大在于它的映射语句,这是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。MyBatis 为聚焦于 SQL 而构建,以尽可能地为你减少麻烦。SQL 映射文件只有很少的几个顶级元素(按照应被定义的顺序列出):cache– 对给定命名空间的缓存配置。 cac...原创 2019-12-01 17:50:00 · 150 阅读 · 0 评论 -
SqlSessionFactoryBuilder、SqlSessionFactory和SqlSession的作用域以及生命周期
目前为止我们讨论的各种范围和生命周期类非常重要,错误使用它们会导致严重的并发问题。注意:对象生命周期和依赖注入框架依赖注入框架可以创建线程安全的,事务性的SqlSession和映射器,并将它们直接注入到bean中,这样您就可以忽略它们的生命周期。 您可能想看看MyBatis-Spring或MyBatis-Guice子项目,以了解有关将MyBatis与DI框架一起使用的更多信...原创 2019-11-24 18:22:33 · 1913 阅读 · 0 评论 -
Mybatis的基本构成
我们先了解下Mybatis的核心组件SqlSessionFactoryBuilder(构造器):它会根据配置信息或者代码来生成SqlSessionFactory(工厂接口) SqlSessionFactory:依靠工厂来生成SqlSession(会话) SqlSession:是一个既可以发送SQL去执行并返回结果,也可以获取Mapper的接口。 SQL Mapper:它是MyBatis新...原创 2019-11-24 16:25:27 · 298 阅读 · 0 评论 -
mybatis批量插入并返回批量插入的主键ID
在优化公司系统底层框架批量插入的时候,遇到一个问题,以前的公司底层架构中,批量插入后是返回的插入的条数,而不是返回的批量插入的主键,这样就很难做一些其他的事情,比如如果该表有历史表的话,如给USER_INFO表加一个历史表USER_INFO_HISCREATE TABLE `USER_INFO` ( `USER_ID` bigint(20) NOT NULL AUTO_INC...原创 2019-10-24 19:21:03 · 1035 阅读 · 1 评论