Springboot集成mybatis(mybatis-plus,通用mapper等)

第一步:依赖的导入pom.xml

①一定会有数据库驱动的依赖

版本太低的话(如5.1.47),在yml里面的驱动会加载不出来的

<!-- mysql驱动 -->
<dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.13</version>
            </dependency>

②mybatis/通用mapper/mybatis-plus 三选一

<!-- mybatis依赖 -->
<dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.4</version>
</dependency>

<!-- 配置通用mapper启动器 -->
            <dependency>
                <groupId>tk.mybatis</groupId>
                <artifactId>mapper-spring-boot-starter</artifactId>
                <version>2.1.5</version>
            </dependency>


<!-- mybatis-plus 是自己开发,并非官方的! --> 
<dependency> 
	<groupId>com.baomidou</groupId> 
	<artifactId>mybatis-plus-boot-starter</artifactId>
	<version>3.0.5</version> 
</dependency>

对于springboot项目可以导入下面这个mybatis依赖

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

spring:
  datasource:
    username: root
    password: zykj5717
    url: jdbc:mysql://183.62.240.92:3306/zycx_test?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=true&serverTimezone=Asia/Shanghai
    driver-class-name: com.mysql.cj.jdbc.Driver

mybatis:
  mapper-locations: classpath:mapper/*.xml
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

如果不能关联过去需要配置yml


mybatis:
  mapper-locations: classpath:mapper/*.xml

其他常用的依赖

    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>

③application.yml的配置

# mysql 5 驱动不同 com.mysql.jdbc.Driver 
# mysql 8  驱动不同 com.mysql.cj.jdbc.Driver、 
# mysql 8 需要增加时区的配置serverTimezone=GMT%2B8 

spring:
  datasource:
    username: root
    password: root
    url: jdbc:mysql://localhost:3306/newsell?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=true&serverTimezone=Asia/Shanghai
    driver-class-name: com.mysql.cj.jdbc.Driver
    
mybatis:
  mapper-locations: classpath:mapper/*.xml
  configuration:
    # 打印语句
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    # 自动转换驼峰
    map-underscore-to-camel-case: true

遇到了时区相差8小时的问题:
?serverTimezone=GMT%2B8
serverTimezone=Asia/Shanghai

使用

对于mybatis

传统方式pojo-dao(连接mybatis,配置mapper.xml文件)-service-controller

对于通用mapper

在启动类上使用MapperScan注解扫描需要的接口
@MapperScan(“xxx”)

对于mybatis-plus

1、SQL谁帮我们写的 ? MyBatis-Plus 都写好了
2、方法哪里来的? MyBatis-Plus 都写好了

①在启动类上添加注解扫描

@MapperScan("com.kuang.mapper")

②mapper接口

package com.kuang.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kuang.pojo.User;
import org.springframework.stereotype.Repository; 
// 在对应的Mapper上面继承基本的类 BaseMapper
@Repository  // 代表持久层 
public interface UserMapper extends BaseMapper<User> { 
// 所有的CRUD操作都已经编写完成了 
// 你不需要像以前的配置一大堆文件了!
}

③使用

@SpringBootTest 
class MybatisPlusApplicationTests { 
// 继承了BaseMapper,所有的方法都来自己父类
// 我们也可以编写自己的扩展方法! 
@Autowired private UserMapper userMapper; 
@Test void contextLoads() { 
// 参数是一个 Wrapper ,条件构造器,这里我们先不用 null 
// 查询全部用户 
List<User> users = userMapper.selectList(null); users.forEach(System.out::println);
} 
}

④ 扩展:
我们所有的sql现在是不可见的,我们希望知道它是怎么执行的,所以我们必须要看日志!
如何配置日志呢?

配置日志 mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LC超人在良家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值