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

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

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

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



                mysql
                mysql-connector-java
                8.0.13
            

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



            org.mybatis
            mybatis
            3.5.4



            
                tk.mybatis
                mapper-spring-boot-starter
                2.1.5
            


 
 
	com.baomidou 
	mybatis-plus-boot-starter
	3.0.5 

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

  
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.1.4
        

Springboot集成mybatis(mybatis-plus,通用mapper等)_第1张图片

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

其他常用的依赖

    
        log4j
        log4j
        1.2.17
    
    
        junit
        junit
        4.12
        test
    

③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 { 
// 所有的CRUD操作都已经编写完成了 
// 你不需要像以前的配置一大堆文件了!
}

③使用

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

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

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

你可能感兴趣的:(mysql,spring,boot,java,intellij-idea)