springboot+maven多模块项目整合mybatis

        之前在网上搜了很多springboot整合mybatis的文章,大部分说的都是单项目整合mybatis,然后自己摸索了一下,在这里记录一下多模块的maven项目整合mybatis.

首先肯定要搭建一个多模块项目,具体步骤就不多赘述了,反正就很简单.看一下项目结构

blog-dao module就是我的数据库连接层.

然后你可以通过generator生成器生成实体,mapper和xml 不会的可以借鉴一下我的另一篇博文https://blog.csdn.net/qq_37025445/article/details/89846963

1  在blog-dao的pom.xml文件中引入依赖

<!-- mysql驱动 -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.29</version>
		</dependency>
<!-- 整合mybatis -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.2</version>
        </dependency>
        <!--mybatis-generator 插件-->
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.5</version>
        </dependency>

前面两个依赖是必须的 后面一个看个人喜好

2  配置文件

配置文件一般都是放在web层,我这里留的项目的唯一启动类也是放在了web层.

 

配置文件里面配置

server.port=8081
spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=UTF-8&characterSetResult=utf8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

#mybatis resultType 自动扫描的包
mybatis.type-aliases-package=com.xjs.entity
#指定xml存放位置 classpath表示resource下的包
mybatis.mapper-locations=classpath:mapper/*.xml
# 驼峰命名规范 如:数据库字段是  order_id 那么 实体字段就要写成 orderId
mybatis.configuration.map-underscore-to-camel-case=true

mybatis的依赖和配置文件都弄好了,再加上之前的mapper,实体,对应的数据库映射xml都准备好了,那么你是不是认为就搞定了呢.

那你就错了,mapper里面存放的java文件,一般我们都是通过自动注入的方式.那么这种方式就要求要把mapper里面的java文件交给spring的ioc容器去管理.

这里为你提供了两种方式,

        一:在mapper文件上加@Mapper注解,但是这种方法不好的地方就是,你每一个mapper的java文件都要加上这么一个注解.就特别麻烦.

        二:就是在你的springboot启动类上使用 @MapperScan注解,这个注解可以指定包,使项目在启动的时候,去扫描这个包下的类,并把这些类交给spring的ioc去管理. @MapperScan这个注解可以指定一个或者多个包.具体用法可以网上搜一下.这里给大家讲解一下.因为我的项目是多模块的项目,而启动类又在web层,但是我们的包又在dao层,两个不同的module怎么才能指定到需要扫描的包呢,其实很简单

 

 我的包在blog-dao module下的com.xjs.mapper  然后因为我的main-web添加了blog-dao的依赖,所以就可以直接在@MapperScan注解上添加com.xjs.mapper 就可以扫描到我的mapper文件了,一定要添加依赖.

到这里,我的mybatis就整合成功了,就可以开启你的开发之旅了,当然你也可以使用JPA来操作数据库,JPA底层就是用的hibernate,但是本人还是比较喜欢操作sql,而且mybatis在多表操作上要比JPA来的方便.就看你个人习惯了

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值