美文网首页java架构经验分享
SpingBoot整合Mybatis,这些小技巧你得知道,对你工

SpingBoot整合Mybatis,这些小技巧你得知道,对你工

作者: 前程有光 | 来源:发表于2021-04-01 22:04 被阅读0次

    如何使用SpingBoot整合Mybatis

    SpringBoot 是由Pivotal 团队提供的全新框架,其设计目的是用来简化新Spring 应用的初始搭建以及开发过程。

    SpringBoot 的主要特点为:

    • 创建独立的Spring 应用程序
    • 嵌入到Tomcat,无需部署WAR 文件
    • 简化Maven 配置
    • 自动配置Spring
    • 提供生产就绪型功能,如指标,健康检查和外部配置
    • 绝对没有代码生成并且对XML 也没有配置要求

    开发环境的搭建

    JDK 的要求

    使用SpringBoot 必须使用JDK1.8 以上版本。

    开发工具

    如今Java 语言开发使用最多的两款IDE 软件是Eclipse 和IDEA,Eclipse 实际包含Eclipse、MyEclipse、SpringTool Suite,前两项大家很熟悉,而Spring Tool Suite 是为开发spring 应用定制的eclipse,实际使用与Eclipse或MyEclipse 几乎没有区别,其中的特性可以让我们的开发更加方便。本篇文章选用的是Spring Tool Suite 工具。
    Spring Tool Suite 简称STS,下载地址为:https://spring.io/tools,我们选择Windows 版本下载即可。
    STS 为绿色版,解压之后可以直接使用。

    Maven 的要求:

    项目管理工具推荐使用apache-maven-3.3.9 及以上版本。
    准备工作已经做好,下面开始试试活怎么样

    SpringBoot 集成Mybatis 只需要以下三步

    • 第一步:添加依赖;
    • 第二步:配置数据源;
    • 第三步:扫描接口包。
      详细的集成步骤如下:
      参考的数据库:
    /*创建数据库springbootdb*/
    CREATE DATABASE /*!32312 IF NOT EXISTS*/`springbootdb` /*!40100 DEFAULT CHARACTER SET utf8
    */;
    USE `springbootdb`;
    /*创建表city*/
    DROP TABLE IF EXISTS `city`;
    CREATE TABLE `city` (
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '城市编号',
    `provinceId` int(10) unsigned DEFAULT NULL COMMENT '省份编号',
    `cityName` varchar(20) DEFAULT NULL COMMENT '城市名称',
    `description` text COMMENT '城市描述',
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
    /*插入测试数据*/
    insert into `city`(`id`,`provinceId`,`cityName`,`description`) values (1,1,'北京','这是北京市的描述信
    息,北京这家伙是中国首都,百年帝都,政治经济文化中心,也将是世界的中心.'),(2,2,'郑州','这是郑
    州市的描述信息,郑州这家伙是河南省会,城市中的后起之秀,河南政治经济文化中心,也是中国的
    中心城市.'),(3,3,'ZhengZhou','这是郑州市的描述信息,郑州这家伙是河南省会,城市中的后起之秀,
    河南政治经济文化中心,也是中国的中心城市.');
    
    

    添加依赖;除了常规依赖外,需要加入Mybatis 和MySQL 依赖。

    <properties>
    
    <mybatis-spring-boot>1.2.0</mybatis-spring-boot>
    <mysql-connector>5.1.39</mysql-connector>
    
    </properties>
    
    <dependencies>
    <!-- Spring Boot Mybatis 依赖-->
    <dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>${mybatis-spring-boot}</version>
    </dependency>
    <!-- MySQL 连接驱动依赖-->
    <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>${mysql-connector}</version>
    </dependency>
    </dependencies>
    
    

    在application.properties 配置文件中,配置数据源、Mybatis 的配置及映射文件。

    ## 数据源配置
    spring.datasource.url=jdbc:mysql://localhost:3306/库名
    spring.datasource.username=root
    spring.datasource.password=root
    spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    ## Mybatis 配置
    # 实体所在包,起别名
    mybatis.typeAliasesPackage=org.spring.springboot.domain
    # 映射文件所在路径
    mybatis.mapperLocations=classpath:mapper/*.xml
    
    

    在主模块上注解扫描接口包,使用@MapperScan(“包名”)。

    @SpringBootApplication // Spring Boot 应用的标识
    @MapperScan("org.spring.springboot.dao") // mapper 接口类扫描包配置
    //如果要显示Sql 细节还需要在logback 配置<logger name="接口类所在包" level="debug" />
    public class Application {
    public static void main(String[] args) {
    // 程序启动入口
    // 启动嵌入式的Tomcat 并初始化Spring 环境及其各Spring 组件
    SpringApplication.run(Application.class,args);
    }
    }
    
    

    写到这里,首先要恭喜你一下你马上就可以实现你心中所想的事情,我们接着往下看。

    entity

    package com.zyz.entity;
    
    public class City {
        private Integer id;
        private Integer provinceId;
        private String cityName;
        private String description;
        public Integer getId() {
            return id;
        }
        public void setId(Integer id) {
            this.id = id;
        }
        public Integer getProvinceId() {
            return provinceId;
        }
        public void setProvinceId(Integer provinceId) {
            this.provinceId = provinceId;
        }
        public String getCityName() {
            return cityName;
        }
        public void setCityName(String cityName) {
            this.cityName = cityName;
        }
        public String getDescription() {
            return description;
        }
        public void setDescription(String description) {
            this.description = description;
        }
        public City(Integer id, Integer provinceId, String cityName, String description) {
            super();
            this.id = id;
            this.provinceId = provinceId;
            this.cityName = cityName;
            this.description = description;
        }
        public City() {
            super();
        }
        @Override
        public String toString() {
            return "City [id=" + id + ", provinceId=" + provinceId + ", cityName=" + cityName + ", description="
                    + description + "]";
        }
        
        
    }
    
    

    dao

    package com.zyz.dao;
    
    import java.util.List;
    
    import com.zyz.entity.City;
    
    public interface CityDao {
        public List<City> getall();
    }
    
    

    controller

    package com.zyz.controller;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import com.zyz.dao.CityDao;
    
    @RestController
    public class HelloController {
        @Autowired
        CityDao citydao;
        @RequestMapping("/hello")
        public String hello() {
            return ""+citydao.getall();
        }
    }
    
    

    项目结构图

    还差最后一步

    打开我们的浏览器,启动我们的项目,然后访问

    最后出现这样,说明你成功了

    最后

    在文章的最后作者为大家整理了很多资料!包括java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书等等!
    如有需要的朋友欢迎关注公众号:前程有光,领取!

    相关文章

      网友评论

        本文标题:SpingBoot整合Mybatis,这些小技巧你得知道,对你工

        本文链接:https://www.haomeiwen.com/subject/wuuxkltx.html