• 在springboot中整合mybatis配置流程!


    在Spring Boot中整合MyBatis的配置流程分为以下几个步骤:

    1. 添加依赖:

    首先,您需要在项目的`pom.xml`文件中添加MyBatis和数据库驱动的依赖。通常,您会使用MyBatis的Spring Boot Starter依赖来简化配置。例如,如果您使用MySQL数据库,可以添加以下依赖:

    ```xml

    1. <dependencies>
    2.    
    3.     <dependency>
    4.         <groupId>org.mybatis.spring.bootgroupId>
    5.         <artifactId>mybatis-spring-boot-starterartifactId>
    6.         <version>2.2.0version>
    7.     dependency>
    8.    
    9.     <dependency>
    10.         <groupId>mysqlgroupId>
    11.         <artifactId>mysql-connector-javaartifactId>
    12.         <version>8.0.27version>
    13.     dependency>
    14. dependencies>


    ```

    2. 配置数据源:

    在`application.properties`或`application.yml`文件中配置数据库连接信息,包括URL、用户名和密码。例如:

    使用`application.properties`配置:

    ```properties
    spring.datasource.url=jdbc:mysql://localhost:3306/your_database
    spring.datasource.username=your_username
    spring.datasource.password=your_password
    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    ```

    或使用`application.yml`配置:

    ```yaml

    spring:
      datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        url: jdbc:mysql://localhost:3306/db_hospital?useUnicode=true&userSSL=false&useUnicode=true&characterEncoding=utf-8&autoReconnect=true&failOverReadOnly=false&serverTimezone=Asia/Shanghai&allowMultiQueries=true&autoReconnect=true
        username: root
        password: 666666
        driver-class-name: com.mysql.cj.jdbc.Driver
        initial-size: 5  # 初始连接池大小
        min-idle: 5      # 最小空闲连接数
        max-active: 20    # 最大活跃连接数
        max-wait: 60000  # 获取连接的最大等待时间(毫秒)
    
    mybatis:
      mapper-locations: classpath:com/ekgc/*/dao/*.xml
      configuration:
        autoMappingBehavior: PARTIAL
        mapUnderscoreToCamelCase: true
        logImpl: org.apache.ibatis.logging.log4j.Log4jImpl
      type-aliases-package: com.ekgc.qy.pojo
    
    server:
      port: 8090
      servlet:
        context-path: /qy
    ```

    3. 创建Mapper接口:

    创建DAO(数据访问对象)接口,这些接口用于定义数据库操作方法。通常,您会在接口上使用`@Mapper`注解来告诉MyBatis将其实现为Mapper接口。例如:

    ```java

    1. import org.apache.ibatis.annotations.Mapper;
    2. @Mapper
    3. public interface UserMapper {
    4.     User getUserById(Long id);
    5.     List getAllUsers();
    6.     void insertUser(User user);
    7.     void updateUser(User user);
    8.     void deleteUser(Long id);
    9. }


    ```

    4. 创建Mapper XML文件:

    为每个Mapper接口编写对应的Mapper XML文件,这些文件包含SQL语句和映射规则。Mapper XML文件通常存放在`resources`目录下的`mapper`子目录中。例如,`UserMapper.xml`文件:

    ```xml

    1. "1.0" encoding="UTF-8"?>
    2. mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    3. <mapper namespace="com.example.demo.dao.UserMapper">
    4.     <resultMap id="BaseResultMap" type="com.example.demo.entity.User">
    5.         <id column="id" property="id" jdbcType="BIGINT"/>
    6.         <result column="username" property="username" jdbcType="VARCHAR"/>
    7.        
    8.     resultMap>
    9.     <select id="getUserById" resultMap="BaseResultMap">
    10.         SELECT * FROM user WHERE id = #{id}
    11.     select>
    12.    
    13. mapper>


    ```

    5. 配置MyBatis扫描:

    在Spring Boot的主应用程序类上添加`@MapperScan`注解,以告诉Spring Boot扫描Mapper接口的包路径。例如:

    ```java

    1. import org.mybatis.spring.annotation.MapperScan;
    2. import org.springframework.boot.SpringApplication;
    3. import org.springframework.boot.autoconfigure.SpringBootApplication;
    4. @SpringBootApplication
    5. @MapperScan("com.example.demo.dao") // 指定Mapper接口所在的包路径
    6. public class MyApplication {
    7.     public static void main(String[] args) {
    8.         SpringApplication.run(MyApplication.class, args);
    9.     }
    10. }


    ```

    6. 使用Mapper:

    在您的服务或控制器中注入Mapper接口,然后使用它们来访问数据库。例如:

    ```java

    1. @Service
    2. public class UserService {
    3.     private final UserMapper userMapper;
    4.     @Autowired
    5.     public UserService(UserMapper userMapper) {
    6.         this.userMapper = userMapper;
    7.     }
    8.     public User getUserById(Long id) {
    9.         return userMapper.getUserById(id);
    10.     }
    11.     // 其他数据库操作方法
    12. }

    其余根据你的项目需求和数据库配置进行相应的调整和扩展。
    ```

  • 相关阅读:
    经典面试题-volatile的作用
    数据持久化技术(Python)的使用
    分解因数,求有多少种情况
    微软开源 windows-drivers-rs, 用 Rust 开发 Windows 驱动程序
    互联网Java工程师面试题·Spring篇·第一弹
    ElementUI--数据表格增删改查与表单验证
    数组去重,数组去除空格
    有没有简单好用的换天空背景软件推荐?
    模拟实现ATM系统——Java
    MFC Windows 程序设计[153]之多样的文档视图
  • 原文地址:https://blog.csdn.net/qq_58647634/article/details/133082845