摘要:
目前我们开发功能的流程中,在service层会手动创建SQLSession对象,并使用SQLSession对象获取Mapper接口的实例化对象,但是我们真正使用的是Mapper接口的对象,目前的代码编写方式极大的影响了开发效率,而且mybatis层和service 层之间的耦合性非常高 解决: 使用 阅读全文
摘要:
遇到的问题 如果我们做一个请求时候多次使用sqlsession对象这样就会造成sqlsession 浪费,也就是资源浪费,效率也会降低 我们需要达到的目的就是用户发出的一个请求中实现sqlsession的共享 请求没有改变,线程就不会改变 最终的目的就是在同一个线程中实现数据sqlsession的共 阅读全文
摘要:
01 Mybatis中的缓存简介 缓存的好处:只是查询才有缓存 (增删改没有缓存的),可以增块访问的速度 sqlsession级缓存 (一级缓存) 默认开启的 所有的操作是公用同一个SQLsession对象并且执行的是同一条SQL语句的时候才会走缓存 02缓存的缺点 可能存在数据的脏读 执行修改、删 阅读全文
摘要:
Auto_Mapping 数据注入的方式 [1]自动注入方式 Auto_Mapping (自己封装的实体属性和数据库的字段是一样的情况Mybatis会自动的注入) [2]手动注入的方式 resultMap 作用:解决自己做的实体的封装和数据库的字段不一致的问题 resultType和resultMa 阅读全文
摘要:
查询所有学生所在班级的信息(一对一) 班级查询学生的操作(一对多) 遇到的问题: 查询的SQL语句非常的简单,但是如何把查询的数据接受这个就是一个问题 [1]把每一个实体中的字段拿出来组建成一个新的实体 返回还是resultType 存在的问题:映射的内容会出现重复的字段 [2] resultMap 阅读全文
摘要:
[1]什么是N+1的查询方式 如果没有N+1的方式我们想要实现多表的查询,自己书写查询的业务逻辑代码(java) mybatis希望通过自己标签配置的方式来解决这个问题 [2]执行的操作 查询学生所在班级的信息(一对一) 查询班级中所有学生的信息(一对多) 使用的时候书写标签需要注意: 查询出来返回 阅读全文
摘要:
如何进行多表的查询 1、业务代码的方式 (实现的方式,书写业务逻辑的java代码实现) 查询学生所在班级的信息 (一对一查询) 1、先把所有学生查询出来(clazzno) select* from student 2、拿着clazzno去clazz表中查询班级的信息 select * from cl 阅读全文