sprinboot-mybatis整合

1. Sql

2. 数据源的自动配置

  • 启动器

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-jdbc</artifactId>
    </dependency>
    // mysql
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.20</version>
    </dependency>
    
    • 版本控制
  • 数据源的自动配置类为:DataSourceAutoConfiguration 其中自动注入了 DataSourceProperties类作为配置 此类前缀为 (prefix = “spring.datasource”) 所以对于数据源的配置应该使用spring.datasource.xxx

    #      数据源配置
    spring: 
      datasource:
        url: jdbc:mysql://localhost:3306
        username: root
        password: Wjy12300.
        driver-class-name: com.mysql.jdbc.Driver
    
  • jdbc的测试

    @SpringBootTest
    class Springboot04SystemApplicationTests {
      @Autowired
      JdbcTemplate jdbcTemplate;
      @Test
      void contextLoads() {
        Integer integer = jdbcTemplate.queryForObject("select count(*) from user", Integer.class);
        System.out.println(integer);
      }
    }
    
    

3.使用德鲁伊数据库

4.整合Mybatis操作

  • 启动器
<dependency>
  <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>mybatis-spring-boot-starter</artifactId>
  <version>2.2.0</version>
</dependency>
  • 分析启动器

    maven:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vFqTOmMn-1627462652270)(…/…/截图/iShot2021-07-27 19.49.09.png)]

    自动配置类:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Du9q4fQl-1627462652273)(…/…/截图/iShot2021-07-27 19.51.37.png)]

  1. 根据springboot官方文档定义

    1. 全局配置文件 (都被sprinboot自动配置完了)

      <?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>
        <environments default="development">
          <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
              <property name="driver" value="${driver}"/>
              <property name="url" value="${url}"/>
              <property name="username" value="${username}"/>
              <property name="password" value="${password}"/>
            </dataSource>
          </environment>
        </environments>
        <mappers>
          <mapper resource="org/mybatis/example/BlogMapper.xml"/>
        </mappers>
      </configuration>
      
    2. mapper.xml (UserMapper.xml)

      <?xml version="1.0" encoding="UTF-8" ?>
      <!DOCTYPE mapper
              PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
              "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
      <mapper namespace="com.rain.springboot04system.mapper.UserMapper">
          <select id="findAll" resultType="com.rain.springboot04system.pojo.User">
           select * from user
         </select>
      </mapper>
      
    3. 配置springBoot的yaml配置文件指定springboot中mybatis配置

      MybatisAutoConfiguration自动配置类中导入的配置类MybatisProperties中定义了priex为“mybatis”

      的若干配置 数据源配置

      # mybatis 配置
      # 1. 全局配置文件位置
      # 2. mapper文件位置
      mybatis:
        config-location: classpath:mybatis/mybatis-config.xml
        mapper-locations: classpath:mybatis/mapper/*.xml
      

      ​ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ntm8blrq-1627462652275)(…/…/截图/image-20210728141845460.png)]

    4. 建立Service @Service 自动注入 Mapper

    5. 调用service完成查询

  2. 注解配置

    1. 导入mybatis-start启动器

    2. 在yaml中设置数据源

      (注册mapper service)

    3. 定义mapper

      1. mapper中定义方法
      2. @注解执行操作
    4. 定义service

      1. 自动导入mapper
      2. 定义方法 public
    5. 执行

    代码如下:

    pojo -> Mybatis

    public class Mybatis implements Serializable {
       private int id;
       private String url;
       private String username;
       private String password;
       private String driver;
    }
    

    mapper -> MybatisMapper

    @Mapper
    @Component
    public interface MybatisMapper {
        @Select("select * from mybatis where id = #{id}")
        Mybatis findNyid(@Param("id") int id);
    }
    

    service -> MybatisService

    @Service
    public class MybatisService {
        @Autowired
        MybatisMapper mybatisMapper;
        public Mybatis findNyid(@Param("id") int id){
            return mybatisMapper.findNyid(id);
        }
    }
    

    controller

    @Controller
    public class MybatisController {
        @Autowired
        MybatisService mybatisService;
        
        @ResponseBody
        @GetMapping("/mybatisTest")
        public String mybatisTest(@Param("id") int id){
            return mybatisService.findNyid(id)+"";
        }
    }
    

    执行结果:

    image-20210728165650723

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Spring Boot中整合MyBatis和SQLite,您可以按照以下步骤进行操作: 1. 添加MyBatis和SQLite的依赖:在pom.xml文件中添加以下依赖项来引入MyBatis和SQLite的相关功能: ``` <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.3</version> </dependency> <dependency> <groupId>org.xerial</groupId> <artifactId>sqlite-jdbc</artifactId> <version>3.34.0</version> </dependency> ``` 请确保版本号与您引用的版本相匹配。 2. 配置数据源:在application.yaml(或application.properties)文件中配置SQLite的数据源信息,包括用户名、密码、URL和驱动类名。示例如下: ``` spring: datasource: username: "" password: "" url: jdbc:sqlite:src/main/resources/database/sqlite.db driver-class-name: org.sqlite.JDBC ``` 请根据实际情况填写用户名、密码和数据库路径。 3. 配置MyBatis:在application.yaml(或application.properties)文件中配置MyBatis相关信息。示例如下: ``` mybatis: mapper-locations: classpath:mapper/*.xml configuration: default-enum-type-handler: org.apache.ibatis.type.EnumOrdinalTypeHandler log-impl: org.apache.ibatis.logging.stdout.StdOutImpl ``` 这里配置了MyBatis的mapper文件所在路径和一些其他的配置项。 4. 创建Mapper接口和XML文件:根据您的数据库表结构,创建对应的Mapper接口和XML文件,用于定义SQL语句和映射关系。 5. 编写业务逻辑:在您的业务类中使用自动注入的Mapper接口来执行数据库操作。 这样,您就完成了Spring Boot整合MyBatis和SQLite的配置和使用。请注意,这只是一个简单的示例,您可以根据实际需求进行相应的配置和开发。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [五、Mybatis学习实践-SpringBoot整合Mybatis实现原理](https://blog.csdn.net/pactoer/article/details/125718865)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值