mybatis
文章平均质量分 76
HD243608836
这个作者很懒,什么都没留下…
展开
-
MyBatis-Plus——超详细讲解配置文件
在我们的【MyBatis-Plus】中有许多【配置】,也就是当我们需要用到的时候,会在配置文件中进行编写的属性,本篇博客将会讲解这些配置的【作用】,以及简单【使用】。转载 2023-09-05 18:38:55 · 16573 阅读 · 0 评论 -
什么是ssm框架?
SSM其实是JAVAEE的一个开发套件:Springmvc(有段时间是Struts)、Spring和mybatis(以前叫ibatis)web层(springmvc),service层(spring)和DAO层(mybatis)为什么这三样会怎么的流行呢?我的习惯是从解决问题的角度回答问题,这三样其实对应的是javaEE开发的三个问题。1. Springspring的出现是因为Rod Johnson的一本书《Expert o-ne-on-One J2EE Design and Dev转载 2022-01-15 13:21:53 · 553 阅读 · 0 评论 -
Spring 与 Mybatis 中的 @Repository 与 @Mapper与@Mapperscan
@Repository、@Service、@Controller,它们分别对应存储层Bean,业务层Bean,和展示层Bean。如果使用@Repository则需要使用@MapperScan("xxx.xxx.xxx.mapper")进行扫描,然后生成Dao层的Bean才能被注入到Service层中。@Mapper通过xml里面的namespace里面的接口地址,生成了Bean后注入到Service层中。相当于@Mapper=@Repository+@MapperScan使用注解的方式开发Dao转载 2021-12-19 13:23:18 · 1321 阅读 · 0 评论 -
MyBatis Spring 集成,mapper接口@Repository有时候却不用写的原因(MyBatis Spring 集成源码解析)
其实就是IOC容器的“xml方式与注解方式”的结合。mybatis jar包中,偷偷的把dao层类放入xml加载注入到IOC容器中了转载自,原文格式清晰:(181条消息) MyBatis Spring 集成,mapper接口@repository有时候却不用写的原因(MyBatis Spring 集成源码解析)_大灰狼的专栏-CSDN博客_mybatisrepository接口~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~转载 2021-12-19 02:25:06 · 1034 阅读 · 0 评论 -
几种常见mybatis分页实现
mybatis框架分页实现,有几种方式,最简单的就是利用原生的sql关键字limit来实现,还有一种就是利用interceptor来拼接sql,实现和limit一样的功能,再一个就是利用PageHelper来实现。这里讲解这三种常见的实现方式:无论哪种实现方式,我们返回的结果,不能再使用List了,需要一个自定义对象Pager。package com.xxx.mybatis.bean;import java.util.List;public class Pager<T> { pr转载 2021-08-26 11:32:09 · 560 阅读 · 0 评论 -
Springboot集成PageHelper进行分页(与spring不同)
一、application.yml中的配置原来是在applicationContext.xml(或mybatis的配置文件sqlMapConfig.xml中配置),因为开始是spring集成的:<plugin interceptor="com.github.pagehelper.PageHelper"> <!—指定⽅⾔ —> <property name="dialect" value="mysql"/></plugin>改为:pa.转载 2021-08-26 11:21:27 · 370 阅读 · 0 评论 -
Mybatis常考面试题汇总(附答案)
1、#{}和${}的区别是什么?在Mybatis中,有两种占位符#{}解析传递进来的参数数据${}对传递进来的参数原样拼接在SQL中#{}是预编译处理,${}是字符串替换。使用#{}可以有效的防止SQL注入,提高系统安全性。2、当实体类中的属性名和表中的字段名不一样 ,怎么办 ?第1种: 通过在查询的sql语句中定义字段名的别名,让字段名的别名和实体类的属性名一致 <select id=”selectorder” parametertype=”int” resulte...转载 2021-08-24 19:31:50 · 789 阅读 · 0 评论 -
Mybatis面试问题集锦(大结局)
转载自:Mybatis3.4.x技术内幕(二十三):Mybatis面试问题集锦(大结局)Mybatis技术内幕系列博客,从原理和源码角度,介绍了其内部实现细节,无论是写的好与不好,我确实是用心写了,由于并不是介绍如何使用Mybatis的文章,所以,一些参数使用细节略掉了,我们的目标是介绍Mybatis的技术架构和重要组成部分,以及基本运行原理。博客写的很辛苦,但是写出来却不一定好看,所谓开始很兴奋,过程很痛苦,结束很遗憾。要求不高,只要读者能从系列博客中,学习到一点其他博客所没有的技术点,作为作者,转载 2021-08-24 18:10:12 · 171 阅读 · 0 评论 -
mybatis的parameterType属性那些情况下要写 哪些情况下不用写
如果 是基本类型,或者是java自身的引用类型,在mybatis 运行时,会自动的进行匹配,可以省略parameterType属性。如果是你自己声明的一个类型,因为可能在引入的jar包中有同名的类,所以你需要制定,这个时候的类型是什么。...转载 2021-08-23 13:50:46 · 2925 阅读 · 1 评论 -
Mybatis的flushCache的select、update等不同标签中的默认值
flushCache默认为false(select),表示任何时候语句被调用,都不会去清空本地缓存和二级缓存。 但是在insert、update、delete语句时: flushCache默认为true,表示任何时候语句被调用,都会导致本地缓存和二级缓存被清空。参考自:https://blog.csdn.net/u014749862/article/details/80297943...原创 2021-08-10 00:28:57 · 638 阅读 · 0 评论 -
mybatis foreach Collection的List、Array、Map
mybatis的foreach官方文档解释:对一个集合进行遍历,通常是在构建IN条件语句的时候使用。例如<select id="selectPostIn" resultType="domain.blog.Post"> SELECT * FROM POST P WHERE ID in <foreach item="item" index="index" collection="list" open="(" separator="," close=")"> ...转载 2021-08-05 15:13:59 · 3708 阅读 · 0 评论 -
springboot中使用mybatis连接mysql数据库,使用druid管理数据库
简介:使用 mybatis 连接 mysql 数据库,一套简单的增删改查流程,前台用 bootstrap,bootstrap-table 框架,最后用 druid监控数据库连接情况项目源码:https://github.com/y369q369/springBoot.git ---> DruidMybatisMysql私聊QQ: 1486866853...转载 2019-08-14 16:20:44 · 591 阅读 · 0 评论 -
Mybatis中@Mapper与@MapperScan关系
现在项目中的配置public interface DemoMapper{ int deleteByPrimaryKey(Integer id);}@MapperScan("com.mapper")public class DlxRrsApplication {}我们定义DemoMapper类,但是并没有在该类上定义类似@Service或者@Mapper之类的注...转载 2019-08-13 15:13:23 · 1777 阅读 · 0 评论 -
MyBatis 延迟加载,一级缓存(sqlsession级别)、二级缓存(mapper级别)设置
什么是延迟加载 resultMap中的association和collection标签具有延迟加载的功能。 延迟加载的意思是说,在关联查询时,利用延迟加载,先加载主信息。使用关联信息时再去加载关联信息。设置延迟加载 需要在SqlMapConfig.xml文件中,在标签中设置下延迟加载。 lazyL转载 2017-11-28 14:53:59 · 3919 阅读 · 1 评论 -
mybatis的userCache和flushCache
在MyBatis中有flushCache、useCache这两个配置属性,分为下面几种情况:(1)当为select语句时:flushCache默认为false,表示任何时候语句被调用,都不会去清空本地缓存和二级缓存。useCache默认为true,表示会将本条语句的结果进行二级缓存。(2)当为insert、update、delete语句时:flushCache默认为true,表转载 2017-11-28 14:41:34 · 824 阅读 · 0 评论 -
mybatis的 if test 条件判断字符串单双引号解析问题
昨天码代码,掉到坑里,耽误了几个小时才从坑里爬出来-_-|||由于MyBatis是使用的OGNL表达式,所以单个的字符要写到双引号里面才行,改为<if test='takeWay == "1"'>或者改为<if test="takeWay == '1'.toString() ">.xml文件的部分代码 <insert id="insertDelivery" param...转载 2018-04-16 11:45:43 · 7818 阅读 · 2 评论 -
mybatis的 choose -- when test -- otherwise 标签和 if test 标签的区别
1.choose标签是按顺序判断其内部when标签中的test条件出否成立,如果有一个成立,则 choose 结束。 当 choose 中所有 when 的条件都不满则时,则执行 otherwise 中的sql。类似于Java 的 switch 语句,choose 为 switch,when 为 case,otherwise 则为 default。例如下面例子,同样把所有可以限制的条件都写上,方面...转载 2018-05-05 19:52:55 · 11453 阅读 · 1 评论 -
mybatis动态传表名(可以不加statementType="STATEMENT")
问:mybatis动态传表名,是不是要加一个statementType="STATEMENT"?答:①不用加“statementType="STATEMENT"”就可以;(进化了!!更灵活!)②的确是用${}。③如果直接采用${},的确是不安全,会有SQL注入攻击的危险。一般会在SpringMVC层将敏感字符转义。比如">"用“>”表示,网上有很多封装函数,或者...原创 2019-03-20 02:07:13 · 843 阅读 · 0 评论 -
Mybatis参数传递5种方式
1.单个参数可以接受基本类型,对象类型,集合类型的值。这种情况MyBatis可直接使用这个参数,不需要经过任何处理。<!-- 根据id查询数据表中的一条记录,并封装User对象 --><select id="selectById" resultType="com.softjx.model.User"> select t_id as id,t_username...转载 2019-03-20 03:05:41 · 7773 阅读 · 0 评论 -
Mybatis传参的4+1种方式
下面给大家总结了以下几种多参数传递的方法。方法1:顺序传参法public User selectUser(String name, int deptId);<select id="selectUser" resultMap="UserResultMap"> select * from user where user_name = #{0} and dept...转载 2019-03-20 03:14:14 · 248 阅读 · 0 评论 -
mybatis配置文件namespace用法总结
由于在应用过程中,发现namespace在配置文件中的重要性,以及配置的影响,在网上看了很多博客,发现很多人对namespace存在误解,所以总结一下namespace的用以及个人的理解: 官网(http://www.mybatis.org/mybatis-3/zh/getting-started.html)的解释如下: namespace即空间命名名称,用于区分实...转载 2019-03-20 10:42:16 · 2481 阅读 · 0 评论 -
Mybatis中insert中返回主键ID的方法——MySQL
1、XyzMapper.xml(在插入过程自动获取一个自增的主键)<insert id=“doSomething" parameterType="map" useGeneratedKeys="true" keyProperty=“yourId">...</insert>或<insert id="doSomething" parameterType=...转载 2019-04-09 23:58:17 · 2085 阅读 · 0 评论 -
MyBatis insert操作返回主键
在使用MyBatis做持久层时,insert语句默认是不返回记录的主键值,而是返回插入的记录条数;如果业务层需要得到记录的主键时,可以通过配置的方式来完成这个功能。针对Sequence主键而言,在执行insert sql前必须指定一个主键值给要插入的记录,如Oracle、DB2,可以采用如下配置方式:<insert id="add" parameterType="vo.Catego...转载 2019-04-10 00:24:15 · 804 阅读 · 0 评论 -
mybatis中#和$符号的区别
mybatis做为一个轻量级ORM框架在许多项目中使用,因其简单的入门受到了广大开发者的热爱。在近期项目中再做一个相关的开发,碰到了#、$符号这样的问题,之前没怎么注意过,通过学习之后,有了点感悟,分享如下,#{} 使用#{}意味着使用的预编译的语句,即在使用jdbc时的preparedStatement,sql语句中如果存在参数则会使用?作占位符,我们知道这种方式可以防止sql注转载 2017-09-26 23:23:33 · 429 阅读 · 0 评论