
Mybatis
文章平均质量分 90
赫于富
这个作者很懒,什么都没留下…
展开
-
如何实现多租户(过滤器+mybatis拦截器实现多租户)
目录什么是多租户:多租户带来的好处:多租户的几种模式下面我们讲讲如何实现模式二的多租户如何实现多租户?项目中的技术方案:实现步骤:什么是多租户:多租户技术(英语:multi-tenancy technology)或称多重租赁技术,是一种软件架构技术,它是在探讨与实现如何于多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间数据的隔离性。多租户带来的好处:第一,系统维护成本低 多租户系统在系统升级时,只需要更新一次。 ...原创 2021-07-17 20:17:11 · 6104 阅读 · 11 评论 -
Mybatis之分页插件 - PageHelper原理讲解
错误一:Failed to convert value of type 'java.lang.String' to required type 'java.util.Date'; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type...原创 2021-07-11 17:05:18 · 3790 阅读 · 0 评论 -
MyBatis整合Log4j
今天就来说一下我们如何在窗口中看到我们执行了sql语句,使用Log4j工具第一步:首先我们创建一个Maven项目:导入必须的依赖:<dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.20原创 2020-08-27 11:22:48 · 1402 阅读 · 2 评论 -
【Mybatis系列】Mybatis缓存
在学习mybatis缓存之前我们先来看三个问题:什么是缓存: 存在内存的临时数据 将用户经常查询的数据放在缓存(内存)中,用户查询数据就不会用磁盘(关系型数据库数据文件)查询,从缓存中查询,从而提高了查询效率,解决高并发系统的性能问题为什么要使用缓存? 减少和数据库的交互次数,减少系统开销,提高系统的效率什么样的数据能使用缓存? 经常查询,并且不经常修改的数据Mybatis缓存: MyBatis包含一个非常强大的查...原创 2020-08-26 10:11:53 · 301 阅读 · 2 评论 -
【Mybatis系列】多对一、一对多查询
什么是多对一什么是一对多大家应该都已经非常清楚了,下面通过一个需求的例子来讲解来mybatis中如何应用多对一处理:需求:多个学生对应一个老师 , 如果对于学生这边,就是一个多对一的现象,即从学生这边关联一个老师!1.创建两个实体:教师实体:@Data //GET,SET,ToString,有参,无参构造public class Teacher { private int id; private String name;}学生实体:@Datapublic cl原创 2020-08-25 21:53:19 · 397 阅读 · 3 评论 -
【Mybatis系列】动态sql
介绍:什么是动态SQL: 动态Sql指的是根据不同的查询条件,生成不同的sql语句 我们之前写的sql语句都是比较简单的,如果有比较复杂的业务,我们需要写复杂的sql语句,往往需要拼接sql,但是容易由于符号的引用错误mybatis的动态sql语句就是用来解决这个问题的通过if wherechoosewhenotherwisetrimsetforeach等标签可以组合成非常灵活的sql语句<if>:先看一个需求:根据作者名字和博客...原创 2020-08-25 10:43:41 · 293 阅读 · 2 评论 -
【Mybatis系列】#{}和${}有什么区别?
在我们开发过程中写mybatis的时候可能大多数人都使用的是#{} ,但是我们还有另外一个符号${},他们之间的区别是什么?当我们在应用变量的时候默认使用#{},如下:<select id=getUserById resultType="org.hyf.mybatis.model.User"> select * from user where id = #{id};</select><select id=getUserById resultType.原创 2020-08-25 09:25:45 · 435 阅读 · 4 评论 -
【Mybatis系列】强大的resultMap用法
前言: 在实际开发中,resultMap 是使用较多的返回数据类型配置。因为实际项目中,一般的返回数据类型比较丰富,要么字段和属性对不上,要么是一对一、一对多的查询,等等,这些需求,单纯的使用 resultType 是无法满足的,我们需要使用自己定义的resultMap可能大家只看上面的话不能很好的理解,下面就用一个例子来给大家解释在某种情况下单纯的使用resultType是无法满足的1.看一下我们的User表对应的字段名2.Java中设计实体类public class User {原创 2020-08-25 08:23:49 · 456 阅读 · 2 评论 -
【Mybatis系列】常用的全局配置标签
在我们开发的过程中使用mybatis-config.xml来配置关于mybatis的属性,此文件作为mybatis的全局配置文件,配置了mybatis的运行环境等信息,下面我来介绍两个个常用的配置:一、properties properties可以用来引入一个外部配置文件,我们在开发过程中最常用的就是引用数据库的配置文件,我们一般会在resource文件下创建db.properites文件来进行配置数据库db.username=rootdb.password=123db....原创 2020-08-24 17:51:00 · 357 阅读 · 2 评论 -
【Mybatis系列】mybatis 中 mapper配置文件和接口必须同名?
进行在总结mybatis的过程中发现,记忆中都是mapper配置文件和接口名字必须要同名,但是我感觉其实不是,于是查了一下总结: 当我们在mybatis-config.xml文件中配置映射的时候 在注册映射文件时使用:<package name="包名">标签的时候,映射文件名必须和接口名一样,否则报错 在注册映射文件时使用:<packageclass="">标签的时候,映射文件名必须和接口名一样,否则报错推荐使用: 3 . 在注册映...原创 2020-08-24 16:56:32 · 2715 阅读 · 2 评论 -
【Mybatis系列】Mybatis增删改查
增:Insert添加数据记录,id有两种不同的方式方式一:id自增长 如果使用自增长我们的数据库表的设计要保证id默认为自增长<insert id="addUser" parameterType="com.kuang.pojo.User"> INSERT INTO user values(#{id},#{name},#{pwd}) </insert> @Test public void InsertUse...原创 2020-08-24 16:45:24 · 476 阅读 · 2 评论 -
【Mybatis系列】 如何使用Mybatis
前言:在总结这边博客之前其实自己已经在使用mybatis了,但是对于mybatis只是停留在了一个简单的使用上面,那么我们为什么不使用JDBC?而要用Mybatis?下面就来介绍一下JDBC存在的问题:数据库连接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库连接池可解决此问题。 Sql 语句在代码中硬编码,造成代码不易维护,实际应用 sql 变化的可能较大,sql 变动需要改变 java 代码。 使用 preparedStatement 向占位符号传参数存在硬编码,因为 sq..原创 2020-08-24 15:48:02 · 330 阅读 · 1 评论