SpringBoot整合MyBatis

如题所述

第1个回答  2024-09-05
1、新建一个SpringBoot项目

2、基本的配置设置配置MyBatis第一种情况

步骤一:

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

server:port:8080spring:datasource:driver-class-name:com.mysql.cj.jdbc.Driverurl:jdbc:mysql://127.0.0.1:3306/joint_force?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghaiusername:rootpassword:795200mybatis:#定义别名包type-aliases-package:com.singerw.pojo#添加xml文件的依赖mapper-locations:classpath:/mybatis/mappers/*.xml#开启驼峰映射规则configuration:map-underscore-to-camel-case:true

定义别名包(type-aliases-package)

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

第二项mapper-locations是总用的,配置mapper.xml映射文件的路径

驼峰映射规则(map-underscore-to-camel-case)

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

步骤二:

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

@MapperpublicinterfaceArticleMapper{List<Article>getArticleByID(IntegeraID);List<Article>getArticleList();}

@mapper或者@repository注解在dao层的应用;

@Mapper是mybatis自身带的注解;使用@mapper后,不需要在spring配置中设置扫描地址,通过mapper.xml里面的namespace属性对应相关的mapper类,spring将动态的生成Bean后注入到Service层。

@repository则需要在Spring中配置扫描包地址,然后生成dao层的bean,之后被注入到ServiceImpl中。

也就是说,如果用了@repository,我们的测试类上(程序启动入口)需要加入。

@SpringBootTest@MapperScan("com.singerw.dao")classApplicationTests{@AutowiredprivateArticleDaoarticleDao;@TestvoidgetArticleTest(){List<Article>article=articleDao.getArticleByID(1);System.out.println(article);}}配置MyBatis第二种情况

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

@SpringBootApplication@MapperScan("com.singerw.dao")publicclassApplication{publicstaticvoidmain(String[]args){SpringApplication.run(Application.class,args);}}

需要注意的是:

在springboot程序入口类处添加注解@MapperScan(“com.singerw.mapper或者dao”),如果程序入口类处没有添加注解@MapperScan,每个dao层接口要添加注解@Mapper。

publicinterfaceArticleDao{List<Article>getArticleByID(IntegeraID);List<Article>getArticleList();}mybatis:#定义别名包type-aliases-package:com.singerw.pojo#添加xml文件的依赖mapper-locations:classpath:/mybatis/mappers/*.xml#开启驼峰映射规则configuration:map-underscore-to-camel-case:trueapplication.yml文件示例

在SpringBoot配置文件application.yaml配置数据库连接,项目端口等信息

server:port:8080spring:datasource:driver-class-name:com.mysql.cj.jdbc.Driverurl:jdbc:mysql://127.0.0.1:3306/joint_force?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghaiusername:rootpassword:795200mybatis:type-aliases-package:com.singerw.pojomapper-locations:classpath*:/mapping/*.xmlconfiguration:map-underscore-to-camel-case:truepom.xml文件示例<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--mybatis-spring的启动器--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.0</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><!--数据库驱动--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>

logo设计

创造品牌价值

¥500元起

APP开发

量身定制,源码交付

¥2000元起

商标注册

一个好品牌从商标开始

¥1480元起

公司注册

注册公司全程代办

¥0元起

    官方电话官方服务
      官方网站八戒财税知识产权八戒服务商企业需求数字市场

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网