等同于spring data jdbc + mybatis 动态sql能力
1. 抛弃繁琐的xml 只使用mybatis模版引擎即动态sql能力 sql写在markdown文件里 更容易书写和阅读 sql能统一管理查看 2. 底层基于springJdbc 而不是mybatis 更直接纯粹 3. 提供单表增删改(没有删除) 批量更新插入等基础方法 支持分页 读写分离 4. mybatis最大优点就是sql模版引擎 我也有且仅有使用这部分功能(对于使用过mybatis的无学习成本) 但底层使用springJDBC 更简单直接 5. 简化mybatis动态sql写法(可混用-写法还是mybatis那套) 比如
{@and id in idList} 等于 <if test="null!=idList and idList.size>0"> and id in <foreach collection="idList" index="index" item="item" open="(" separator="," close=")">#{item}</foreach></if>
== why not spring data jdbc,jpa,hibernate,mybaits,mybatis-plus等
1. 基于spring data jdbc理念但扩展使用mybatis动态sql能力 对于复杂点查询支持更好 2. 相比jpa 底层使用hibernate(当然也能sql) 只有sql 基于spring jdbc 无jpa根据方法名(复杂点需要你学习思考,名字老长,不透明) 简单没有黑魔法 学习成本低 sql写在markdown里,纯jdbc更易于调优 3. 比价mybatis 没有cache,复杂join映射实体,无resultType,resultMap配置 扩展单表CRUD 只用他的动态sql能力的模版引擎和sql放到文件管理思想 去繁就简 取其优点抛弃鸡肋功能 4. 相比mybatis-plus等扩展mybatis框架 他们做的越来越像hibernate,jpa 搞Criteria那套 基本脱离mybatis优点 5. 查询只提供一个选择 就是sql写在markdown文件里 不会提供类似hibernate Criteria 多种选择说是灵活但项目多种有多种实现写法 你会有打人的冲动 6. 缓存可以用SpringCache等上层方案 7. 查询只能映射单一实体(VO,DO,DTO均可) 但现在推荐减少JOIN 推荐代码里join 后期会尝试写新的组件sqlHelper方式简化
具体使用请查看gitee或github 使用简单
Spring整合Mybatis 步骤一:新建一个maven项目,在pom.xml中加入相应的依赖。 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instanc
九. 设计模式模块 88.说一下你熟悉的设计模式? 单例模式:保证被创建一次,节省系统开销。 工厂模式(简单工厂、抽象工厂):解耦代码。 观察者模式:定义了对象之间的一对多的依赖,这样一来,当一个对象改变时,它的所有的依赖者都会收到通知并自动更新。 外观模式:提供一个统一的接口,用来访问子系统中的一群接口,外观定义了一个高层的接口,让子系统更容易使用。 模版方法模式:定义了一个算法的骨架,而将一些
昨天搭建了一个spring的基础开发平台,今天将在spring中集成mybatis。 既然说到数据库,那就必然要有数据库版本管理软件。我这里使用的是flywaydb,因此脚本中会附上SQL脚本。maven可以集成flyway,但是为了避免pom文件太过复杂,这里使用flywaydb的command line tool。flywaydb官网: https://flywaydb.org/ 言归正传。
ssm框架搭建以后会发布如何搭建,主要讲讲如何使用ui.rounter 引入ui-rounter.js <script src="../../framework/angular-1.5.6/angular.js"></script> <script src="../../js/config.js"></script> <script src="../../js/controller.js"></s
1.1 SqlSession Mybatis中3个重要的概念:Configuration(容器),SqlSessionFactory(工厂),SqlSession; 相对于Spring中的applicationContext,BeanFactory,Bean。 不同之处在于SqlSession包含了所有的SQL方法,即这个SqlSession有且只有一个。SqlSession可以执行mybatis
出现错误 D:\software\Java\jdk1.8\bin\java.exe "-javaagent:D:\software\IntelliJ IDEA 2018.3.2\lib\idea_rt.jar=55270:D:\software\IntelliJ IDEA 2018.3.2\bin" -Dfile.encoding=UTF-8 -classpath D:\software\Java
版权声明 本文原创作者:谷哥的小弟 作者博客地址:http://blog.csdn.net/lfdfhl 概述 在进行Spring整合MyBatis时建议参考官方权威指南: https://mybatis.org/spring/zh/transactions.html