• SpringBoot快速入门(二)


    SpringBoot集成MyBatis

    属于数据访问层;MyBatis所有的包都是自己的,所以要导入自己的依赖

    1、导入驱动和依赖

            <!-- 这是自定义的包 -->
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>2.1.1</version>
            </dependency>
            <!-- mysql 驱动 可以用自己的版本-->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.47</version>
            </dependency>
    

    2、编写配置文件:application.yaml(在resources目录下)

    spring:
        datasource:
          username: root
          password: 123456
          url: jdbc:mysql://localhost:3306/mybatis?useSSL=true&userUnicode=true&characterEncoding=utf-8
          driver-class-name: com.mysql.jdbc.Driver
    
      # mysql5 com.mysql.jdbc.Driver
      # mysql8 com.mysql.cj.jdbc.Driver 必须要在url连接中编写时区 serverTimezone=UTC
    

    3、测试数据源是否已经配置成功,在测试类中测试

    package com.star;
    
    import org.junit.jupiter.api.Test;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    
    import javax.sql.DataSource;
    import java.sql.Connection;
    import java.sql.SQLException;
    
    @SpringBootTest
    class SpringbootApplicationTests {
    
        // 自动导入数据源
        @Autowired
        private DataSource dataSource;
    
        @Test
        void contextLoads() throws SQLException {
            //查看默认数据源 class com.zaxxer.hikari.HikariDataSource
            System.out.println(dataSource.getClass());
            //获取连接
            Connection connection = dataSource.getConnection();
            //关闭
            connection.close();
        }
    
    }
    

    SpringBoot 目前默认的数据源是 class com.zaxxer.hikari.HikariDataSource

    4、编写实体类

    package com.star.pojo;
    
    import lombok.Data;
    
    @Data
    public class User {
        private int id;
        private String name;
        private String pwd;
    }
    

    5、编写mapper接口(使用注解或者xml都可以)

    package com.star.mapper;
    
    import com.star.pojo.User;
    import org.apache.ibatis.annotations.Mapper;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.stereotype.Repository;
    
    import java.util.List;
    
    @Mapper //标注这个一个mapper接口
    @Repository //代表持久层
    public interface UserMapper {
    
    //    @Value("select * from user")
        List<User> getUserList();
    }
    
    

    配置文件中要添加mybatis配置

    mybatis:
      type-aliases-package: com.star.pojo
      mapper-locations: classpath:com/star/mapper/*.xml
    

    6、编写资源过滤

            <!--配置资源过滤
             true 可以被过滤,即可以根据profile进行属性替换
             false 能被编译打包,即能够被复制到classpath目录下
             -->
            <resources>
                <resource>
                    <filtering>true</filtering>
                    <directory>src/main/java</directory>
                    <includes>
                        <include>**/*.xml</include>
                    </includes>
                </resource>
            </resources>
    

    7、编写测试类

    package com.star.controller;
    
    import com.star.mapper.UserMapper;
    import com.star.pojo.User;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import java.util.List;
    
    @RestController
    public class MyBatisController {
    
        @Autowired //自动注入接口
        private UserMapper userMapper;
    
        @RequestMapping("list")
        public List getUserList(){
            List<User> userList = userMapper.getUserList();
            return userList;
        }
    }
    

    测试结果:

    我们可得出结论:只需要编写对应的配置文件,导入对应的依赖就可以用了!

  • 相关阅读:
    python定义函数的三种形式
    python函数的返回值
    python函数的调用
    python函数的定义
    python文件操作
    Python2和3字符编码的区别
    python的字符编码
    python异常处理
    python深浅拷贝
    python色彩缤纷的python(改变字体颜色以及样式)
  • 原文地址:https://www.cnblogs.com/lmx-181028/p/12411935.html
Copyright © 2020-2023  润新知