springboot整合mybatis拓展

智极空间旅人
• 阅读 1677

@MapperScan

我们平常整合mybatis在业务中编写Dao层时,我们通常会在数据层的接口上添加@Mapper注解,让其交由mybatis管理,通过其方法映射的SQL语句来操作数据库;

也可以通过在启动类上添加@MapperScan(Mapper接口路径),利用包扫描形式为接口创建代理对象,

@SpringBootApplication
@MapperScan("com.jt.mapper") //利用包扫描的形式为接口创建代理对象
public class SpringBootRun {
    public static void main(String[] args) {
        SpringApplication.run(SpringBootRun.class, args);
    }
}

配置application.yml文件

对于整合mybatis框架,我们还需要在配置文件中对其进行配置:

spring:
  datasource:
    #driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/jtdb?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
    username: root
    password: root
    
#mybatis整合
mybatis:
  #定义别名包
  type-aliases-package: com.jt.pojo
  #添加xml文件的依赖
  mapper-locations: classpath:/mybatis/mappers/*.xml
  #开启驼峰映射规则
  configuration:
    map-underscore-to-camel-case: true
    

上边是关于数据库连接参数的设置;
下边是关于mybatis的配置,主要配置了三点:

  1. 定义别名包(type-aliases-package):

将实体对象pojo路径进行了封装,若在mapper.xml文件中,resulrType不写包名,只写类名,就会自动执行别名包进行拼接;若写了包名+类名,就执行自己写好的;

  1. 第二项mapper-locations是总用的,配置mapper.xml映射文件的路径;
  2. 驼峰映射规则(map-underscore-to-camel-case):

开启驼峰映射规则后,底层会根据切分将数据库用"_"连接的字段名切分组合成由java驼峰规则的命名;
目的:主要为了简化mybatis映射的过程;
规则:user_id-->去除下划线userid-->之后首字母大写userId-->之后属性名一致,就可以正常映射了
注意:如果开启了驼峰规则,必须要满足条件.

点赞
收藏
评论区
推荐文章
Easter79 Easter79
3年前
ssm 找不到配置文件
项目结构!(https://oscimg.oschina.net/oscnet/f50d20d20bc5327724ed2fcc900b2dae709.jpg)由于想把mybatis的mapper文件和dao层放到一起所以在pom中添加了!(https://oscimg.oschina.net/oscnet/ce0d806ea7
Stella981 Stella981
3年前
Mabatis中#{}和${}的区别
动态sql是mybatis的主要特性之一,在mapper中定义的参数传到xml中之后,在查询之前mybatis会对其进行动态解析。mybatis为我们提供了两种支持动态sql的语法:{}以及${}。  在下面的语句中,如果username的值为zhangsan,则两种方式无任何区别:selectfr
Easter79 Easter79
3年前
SpringBoot报错:Invalid bound statement (not found)
错误原因:没有发现Mybatis配置文件的路径解决方法:1.检查Mapper包名与xml文件<mapper标签的namespace数据名称是否相同<mappernamespace"com.tuyrk._161_java_socket.project6.dao.FileMapper"</mapper2.Mapper中定义的方法
Wesley13 Wesley13
3年前
Java框架之Mybatis(二)
本文主要介绍Mybatis(一)之后剩下的内容:1mybatis中log4j的配置2dao层的开发(使用mapper代理的方式)3mybatis的配置详解4输入输出映射对应的类型(parameterType和resultType)5mybatis动态sql6mybatis中的一级缓存7mybat
Stella981 Stella981
3年前
MyBatis 面试题(附答案解析)
目录MyBatis的实现逻辑MyBatis的缓存实现逻辑{}和${}的区别是什么?MyBatis中自定义标签的执行原理简述Mapper接口的工作原理在Spring中Mapper接口是如何被注入的?在Mapper接口中是否可以有重载方法?当实体类中的属性名和表中的字
Stella981 Stella981
3年前
SpringBoot报错:Invalid bound statement (not found)
错误原因:没有发现Mybatis配置文件的路径解决方法:1.检查Mapper包名与xml文件<mapper标签的namespace数据名称是否相同<mappernamespace"com.tuyrk._161_java_socket.project6.dao.FileMapper"</mapper2.Mapper中定义的方法
Stella981 Stella981
3年前
MyBatis插件开发
MyBatis插件开发一、前言MyBatis在四大对象的创建过程中,都会有插件进行介入。插件可以利用动态代理机制一层层的包装目标对象,而实现在目标对象执行目标方法之前进行拦截的效果。MyBatis允许在已映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis允许使用插件来拦截的方法调用包
Stella981 Stella981
3年前
SpringBoot整合Mybatis,使用通用mapper和PageHelper进行分页
!(https://oscimg.oschina.net/oscnet/1fb60dcd6a1e4818ac02f895921663b7.jpg)乐哉码农上节介绍了如何整合Security,这节就说下如何再Springboot下使用持久层框架mybatis和牛人封装的通用mapper与mybatis的整合,直接进入正题吧!1.
Stella981 Stella981
3年前
MapperScannerConfigurer 作用详解
自动扫描将Mapper接口生成代理注入到Spring<!DAO接口所在包名,Spring会自动查找其下的类<beanclass"org.mybatis.spring.mapper.MapperScannerConfigurer"<propertyname"basePackage"va
Easter79 Easter79
3年前
SpringBoot整合Mybatis,使用通用mapper和PageHelper进行分页
!(https://oscimg.oschina.net/oscnet/1fb60dcd6a1e4818ac02f895921663b7.jpg)乐哉码农上节介绍了如何整合Security,这节就说下如何再Springboot下使用持久层框架mybatis和牛人封装的通用mapper与mybatis的整合,直接进入正题吧!1.