springboot整合Mybatis—+Mybatisplus

项目结构

项目结构

添加依赖

		<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
        </dependency>
         <!-- mysql连接-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
	 <!-- mybatis-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
        </dependency>
	 <!--mybatis-plus -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus</artifactId>
            <version>2.3</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-support</artifactId>
        </dependency>
         <!--连接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
        </dependency>
        
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>
       
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>

        </plugins>
        <resources>
            <!-- maven项目中src源代码下的xml等资源文件编译进classes文件夹,
              注意:如果没有这个,它会自动搜索resources下是否有mapper.xml文件,
              如果没有就会报org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.pet.mapper.PetMapper.selectByPrimaryKey-->
            <!--<resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>-->

            <!--将resources目录下的配置文件编译进classes文件  -->
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>
    </build>

yml配置

server:
  port: 8763

spring:
  application:
    name: service-hi
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.jdbc.Driver
    username: huahua
    password: 4582425
    url: jdbc:mysql:///yunzm?useSSL=false
 
 mybatis-plus:
  config-location: classpath:mybatis/mybatis.cfg.xml    # mybatis配置文件所在的路径
  type-aliases-package: com.video.vt_pojo                  # 所有pojo别名类所在的包
  mapper-locations: classpath:vt_mapperxml/*.xml                  #mapper映射文件

mybatis.cfg.xml

<?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" />
	</settings>
</configuration>

MybatisplusConfig

package com.video.vt_config;
/*
 @author bms
 @DESCRIPTION mybatis-plus配置文件
 @create 2019/8/9
*/

import com.baomidou.mybatisplus.plugins.PaginationInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MybatisPlusConfig {
    /*
     * 分页插件,自动识别数据库类型
     * 多租户,请参考官网【插件扩展】
     */
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor().setDialectType("mysql");
    }
}

Mapper

//mapper继承BaseMapper就可以使用BaseMapper的方法了
@Mapper
public interface UserMapper extends BaseMapper<User> {
    List<User> getUsers();
    User findUserByAccountAndPassword(String a,String p);
}

Spring Boot 整合 MyBatisMyBatisPlus 可以通过以下几个步骤完成: 1. **添加依赖**: - 首先,在你的`pom.xml`文件中添加Spring Boot对MyBatisMyBatisPlus的支持依赖。对于MyBatis,你需要 `spring-boot-starter-data-jpa` 或者 `spring-boot-starter-jdbc`,以及MyBatis本身的依赖。对于MyBatisPlus,需要引入 `mybatis-plus-spring-boot-starter`。 ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <!-- 或者 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-spring-boot-starter</artifactId> <version>版本号</version> </dependency> ``` 记得替换`版本号`为实际的MyBatisPlus最新稳定版版本。 2. **配置数据库连接**: 在`application.properties`或`application.yml`中设置JDBC相关的配置,包括数据源、驱动程序等信息。 ```properties spring.datasource.url=jdbc:mysql://localhost:3306/mydb?serverTimezone=UTC spring.datasource.username=root spring.datasource.password=password spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver ``` 3. **创建实体和Mapper**: - 定义实体类,让它们继承自`BaseEntity`(MyBatisPlus的基类),并保持一致的命名规则。 - 创建Mapper接口,继承自MyBatisPlus提供的`BaseMapper`。 ```java import com.baomidou.mybatisplus.core.mapper.BaseMapper; public interface UserMapper extends BaseMapper<User> { } ``` 4. **扫描Mapper和Repository**: 在Spring Boot的配置类上使用`@MapperScan`和`@ComponentScan`注解,指定扫描Mapper和Repository的位置。 ```java import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.jpa.repository.config.EnableJpaRepositories; @Configuration @EnableJpaRepositories(basePackages = "com.example.demo.repository") @MapperScan("com.example.demo.mapper") // 替换为你自己的Mapper包名 public class AppConfig { @Bean public DataSource dataSource() { // 数据源配置... } } ``` 5. **注入Repository**: 在服务类中,你可以直接注入实现了对应接口的`UserRepository`,然后像操作普通Spring Data JPARepository那样使用。 ```java @Service public class UserService { private final UserRepository userRepository; @Autowired public UserService(UserRepository userRepository) { this.userRepository = userRepository; } public User getUserById(Long id) { return userRepository.findById(id).orElse(null); } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值