摘要:参考:https://blog.csdn.net/C_AJing/article/details/108199177?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~aggregatepage~first_rank_ec
阅读全文
摘要:结论 mybatis-spring-boot-starter的版本需要注意: 2.1.x版本适用于:MyBatis 3.5+、Java 8+、Spring Boot 2.1+2.0.x版本适用于:MyBatis 3.5+、Java 8+、Spring Boot 2.0/2.11.3.x版本适用于:M
阅读全文
摘要:问题表现 我自己遇到的问题是: ### Error querying database. Cause: java.lang.IllegalArgumentException: dataSource or dataSourceClassName or jdbcUrl is required.### T
阅读全文
摘要:一、逻辑删除 vs 物理删除 物理删除:是指真的在数据库中,删除某条数据 逻辑删除:通过设置表中某一列的数值,逻辑上假装它被删除 二、Mybatis配置逻辑删除 2.1 yml配置全局的逻辑删除规则 2.2 给Entity某个字段(对应表中某个列)加上逻辑删除注解@TableLogic
阅读全文
摘要:Entity里的注解 @TableField(exist = false) 表示该属性并不在数据库对应的表格中,但是由于逻辑需要,因此添加在Entity中。
阅读全文
摘要:什么是逆向工程 简单点说,就是通过数据库中的单表,自动生成java代码。 Mybatis官方提供了逆向工程,可以针对单表自动生成mybatis代码(mapper.java\mapper.xml\po类),也可以使用开源项目(例如renren generator: https://gitee.com/
阅读全文
摘要:1.什么是缓存? 2.Mybatis缓存 一级缓存:SqlSession级别,一旦SqlSession.close(),缓存就失效。 二级缓存:namespace级别(对应一个接口),里面所有的方法公用缓存。注意:所有数据优先放在一级缓存;只有当会话关闭sqlSession.close(), 才会提
阅读全文
摘要:“多对一” 和 “一对多” 定义 “多对一”处理(推荐) 需求+pojo定义 需求:查询所有学生student, 以及其所有对应老师teacher的信息 学生pojo: id, name, tid(教师的id) 教师pojo: id, name 1.sql实现方式 使用sql实现极其简单:selec
阅读全文
摘要:背景 使用注解后,就不再需要mapper.xml。 @Select注解 本质:用了反射和动态代理 注意这时在核心配置文件中,要注册的就不是mapper.xml, 而是mapper的.java类 @Insert, @Update,@Delete注解 @Param注解
阅读全文
摘要:背景:为什么要分页 方法1:基于SQL实现-LIMIT关键字 语法: 实例:利用mybatis项目来实现 方法2:基于Java实现-RowBounds类(了解即可) RowBounds类,底层依然使用sql的limit.... 方法3: 网络上的分页插件,类似PageHelper (了解即可)
阅读全文
摘要:总结 mybatis-config.xml 可以改为其他名字 环境配置 environments 事务管理器 transactionManager 我们常用的是JDBC: 数据源 datasource DataSource就是为了方便连接数据库。可以取得值有: UNPOOLED: 不配置连接池。 P
阅读全文
摘要:1.Mapper.xml里的语法 1.1 namespace, resultType, parameterType namespace, 写的是对应接口/mapper的全路径名 resultType,写的是结果集的一个item的类型。例如结果集是List<com.xxx.User>, resultT
阅读全文
摘要:什么是MyBatis?为什么要使用Mybatis? Mybatis优点 myBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。 sql和代码的分离,提高了可维护性。 提供映射标签,支持对象与数据库的orm字段关系映射 提供对象关系映射标签,支持对象关系组建维护 提供xml|标签,支
阅读全文