SpringBoot整合mybatis

前言:我们现在常见的网站,各种管理系统,电商项目等基本都是javaweb开发,对于新手必学的框架也是最流行的框架ssm:SpringMVC、Spring、Mybatis(原来是ssh,h是Hibernate,现在mybatis用的更多),SpringBoot就是对ssm的一个整合,让配置不再那么繁琐(约定大于配置),这个脚手架让我们更快的上手项目。

Mybatis是现在用的很广的一个面向数据库的一个orm框架

这里总结一下SpringBoot项目整合Mybatis:

1.首先要整合完mysql才能进行,整合mysql可以看博客:

SpringBoot整合mysql驱动_m0_53611007的博客-CSDN博客

2.引入mybatis依赖

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.4</version>
        </dependency>

3.application.yml文件中配置mybatis信息

mybatis:
  mapper-locations: classpath:mybatis/mapper/*.xml#所有xml文件的位置
  type-aliases-package: com.example.demo.entity.*#所有实体类的位置
  config-location: classpath:mybatis/mybatis-config.xml#全局配置文件的位置

(这里的mybatis是和spring同级的)

4.步骤3中的文件位置并不是固定的,看你的项目怎么整,但是一定要对应起来,这里以我的配置为例创建文件

        4.1创建全局配置文件

 文件内容:这里简写,不注意技术问题

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

    <settings>
        <!-- 打印查询语句 -->
        <setting name="logImpl" value="STDOUT_LOGGING" />
        <!-- 控制全局缓存(二级缓存)-->
        <setting name="cacheEnabled" value="true"/>
        <!-- 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。默认 false  -->
        <setting name="lazyLoadingEnabled" value="true"/>
        <!-- 当开启时,任何方法的调用都会加载该对象的所有属性。默认 false,可通过select标签的 fetchType来覆盖-->
        <setting name="aggressiveLazyLoading" value="false"/>
        <!--  Mybatis 创建具有延迟加载能力的对象所用到的代理工具,默认JAVASSIST -->
        <!--<setting name="proxyFactory" value="CGLIB" />-->
        <!-- STATEMENT级别的缓存,使一级缓存,只针对当前执行的这一statement有效 -->
        <!--
                <setting name="localCacheScope" value="STATEMENT"/>
        -->
        <setting name="localCacheScope" value="SESSION"/>
        <!--数据库字段映射过来之后将名字驼峰命名 -->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>

</configuration>

        4.2每一个dao对应的xml文件。写一个举例子

 文件内容;

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.dao.UserDao">
    <select id="getCurDate" resultType="java.lang.String">
        select curdate() from dual
    </select>
</mapper>

5.编写dao层

 

 这里一定要在类上加@Mapper注解

6.编写service层

 impl下的文件是和service下文件的一一对应的实现关系

@Service不要忘了加 

7.因为要测试就不写controller了直接写单元测试方法了

8.严谨起见,在启动类上方加一个扫描dao层文件的注解

 

 9.运行测试

没问题成功了

注意:以上内容仅仅是springboot整合mybatis然后简单测试,并没有设计mybatis 的其他技术问题

 其实如果只是简单测试的话service层也没必要写,不过还是规范一点的好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值