相关推荐recommended
【SpringBoot篇】SpringBoot整合Mybatis实战 | 报错:需要目标发行版17解决方法
作者:mmseoamin日期:2023-12-20

🎊专栏【SpringBoot】

🍔喜欢的诗句:天行健,君子以自强不息。

🎆音乐分享【如愿】

🎄欢迎并且感谢大家指出小吉的问题🥰

文章目录

  • 🌺Spring Boot和MyBatis的好处
  • 🌺创建工程
    • 🎄报错解决
      • 🎆java: 警告: 源发行版 17 需要目标发行版 17
      • 🎆乱码

        【SpringBoot篇】SpringBoot整合Mybatis实战 | 报错:需要目标发行版17解决方法,在这里插入图片描述,第1张

        Spring Boot可以非常方便地集成MyBatis来实现对数据库的访问,从而快速搭建项目持久层。如果你也想利用Spring Boot整合MyBatis,本文将为你详细讲解整合过程。

        我们将创建一个Spring Boot工程,引入MyBatis相关依赖,编写Mapper接口与SQL映射文件,直接通过接口方法访问数据库。整合后的MyBatis可以自动参与到Spring事务中,让我们只需要注解和SQL就可以实现DAO层的开发。

        跟随本文,你将可以掌握Spring Boot下整合MyBatis的配置方法,并通过一个实际案例感受它的强大魔力。这将为后续项目开发奠定坚实基础。

        🌺Spring Boot和MyBatis的好处

        整合Spring Boot和MyBatis有以下几个好处:

        简化配置:Spring Boot提供了自动配置功能,可以根据类路径上的依赖自动配置数据库连接和MyBatis相关的配置,减少了繁琐的XML配置。只需要进行少量的配置,就可以快速启动和运行应用程序。

        快速开发:Spring Boot框架提供了很多开箱即用的功能和特性,如自动装配、自动配置、内嵌服务器等,可以快速构建和部署Web应用程序。MyBatis作为一种简单易用的ORM框架,可以方便地进行数据库操作。整合两者可以提高开发效率,快速实现业务逻辑。

        灵活性和可扩展性:Spring Boot和MyBatis都是非侵入式的框架,可以与其他框架或技术无缝集成。通过使用Spring Boot的注解和配置,可以轻松地整合其他持久层框架、消息队列、缓存等技术,满足复杂应用的需求。

        易于测试:Spring Boot提供了良好的测试支持,可以轻松编写单元测试和集成测试。MyBatis的Mapper接口和SQL语句都可以进行单元测试,可以方便地验证数据访问的正确性。

        生态系统丰富:Spring Boot和MyBatis都拥有庞大的社区支持和活跃的开发者社区,提供了大量的文档、教程和示例,解决问题时可以得到快速的帮助和支持。

        综上所述,整合Spring Boot和MyBatis可以简化配置、提高开发效率、增加灵活性和可扩展性,同时还能够享受Spring Boot和MyBatis各自的优势和生态系统的支持。这使得开发人员能够更加专注于业务逻辑的实现,快速构建可靠的Web应用程序。

        🌺创建工程

        创建一个工程

        【SpringBoot篇】SpringBoot整合Mybatis实战 | 报错:需要目标发行版17解决方法,在这里插入图片描述,第2张

        【SpringBoot篇】SpringBoot整合Mybatis实战 | 报错:需要目标发行版17解决方法,在这里插入图片描述,第3张

        删除不必要的东西

        【SpringBoot篇】SpringBoot整合Mybatis实战 | 报错:需要目标发行版17解决方法,在这里插入图片描述,第4张

        【SpringBoot篇】SpringBoot整合Mybatis实战 | 报错:需要目标发行版17解决方法,在这里插入图片描述,第5张

        创建domain包,里面写入Book类

        【SpringBoot篇】SpringBoot整合Mybatis实战 | 报错:需要目标发行版17解决方法,在这里插入图片描述,第6张

        package com.example.domain;
        public class Book {
            private Integer id;
            private String name;
            private String type;
            private String description;
            public Integer getId() {
                return id;
            }
            public void setId(Integer id) {
                this.id = id;
            }
            public String getName() {
                return name;
            }
            public void setName(String name) {
                this.name = name;
            }
            public String getType() {
                return type;
            }
            public void setType(String type) {
                this.type = type;
            }
            public String getDescription() {
                return description;
            }
            public void setDescription(String description) {
                this.description = description;
            }
            @Override
            public String toString() {
                return "Book{" +
                        "id=" + id +
                        ", name='" + name + '\'' +
                        ", type='" + type + '\'' +
                        ", description='" + description + '\'' +
                        '}';
            }
        }
        

        写入数据层,创建数据层接口BookDao

        【SpringBoot篇】SpringBoot整合Mybatis实战 | 报错:需要目标发行版17解决方法,在这里插入图片描述,第7张

        在BookDao中写入内容

        package com.example.dao;
        import com.example.domain.Book;
        import org.apache.ibatis.annotations.Select;
        @Mapper
        public interface BookDao {
            @Select("select * from abc where id=#{1}")  //修改为自己的表名和id
            public Book getById(Integer id);
        }
        

        修改properties文件为yml文件

        【SpringBoot篇】SpringBoot整合Mybatis实战 | 报错:需要目标发行版17解决方法,在这里插入图片描述,第8张

        在yml文件中写入内容

        spring:
          datasource:
            driver-class-name: com.mysql.jdbc.Driver
            url: jdbc:mysql://localhost:3306/abc  //修改为自己的数据库名
            username: root
            password: "1234"   //密码是纯数字的要带上双引号
        

        测试接口

        package com.example;
        import com.example.dao.BookDao;
        import com.example.domain.Book;
        import org.junit.jupiter.api.Test;
        import org.springframework.beans.factory.annotation.Autowired;
        import org.springframework.boot.test.context.SpringBootTest;
        @SpringBootTest
        class Demo7ApplicationTests {
            @Autowired
            private BookDao bookDao;
            @Test
            void testGetById() {
                Book book=bookDao.getById(1);
                System.out.println(book);
            }
        }
        

        【SpringBoot篇】SpringBoot整合Mybatis实战 | 报错:需要目标发行版17解决方法,在这里插入图片描述,第9张

        运行成功

        【SpringBoot篇】SpringBoot整合Mybatis实战 | 报错:需要目标发行版17解决方法,在这里插入图片描述,第10张

        🎄报错解决

        🎆java: 警告: 源发行版 17 需要目标发行版 17

        这是因为springboot版本太高了

        我们降低一下就好了

        【SpringBoot篇】SpringBoot整合Mybatis实战 | 报错:需要目标发行版17解决方法,在这里插入图片描述,第11张

        🎆乱码

        运行后发现,之前在yml文件中的中文,运行后变成了乱码

        解决方法

        【SpringBoot篇】SpringBoot整合Mybatis实战 | 报错:需要目标发行版17解决方法,在这里插入图片描述,第12张

        通过本文,我们已经掌握了在Spring Boot中集成MyBatis的方法,很好地结合了两者的优势,实现了DAO层的快速开发。在后续的学习中,我们还可以引入MyBatis的多种高级用法,如逆向工程等。

        如果大家在整合过程中还有其他问题,例如事务支持、配置优化等,请在评论区随时与我讨论。

        【SpringBoot篇】SpringBoot整合Mybatis实战 | 报错:需要目标发行版17解决方法,在这里插入图片描述,第13张