当前位置 主页 > 网站技术 > 代码类 >

    springboot快速整合Mybatis组件的方法(推荐)

    栏目:代码类 时间:2019-11-25 15:10

    Spring Boot简介

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

    原有Spring优缺点分析

    Spring的优点分析

    Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品。无需开发重量级的Enterprise JavaBean(EJB),Spring为企业级Java开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的Java对象(Plain Old Java Object,POJO)实现了EJB的功能。

    Spring的缺点分析

    虽然Spring的组件代码是轻量级的,但它的配置却是重量级的。一开始,Spring用XML配置,而且是很多XML配置。Spring 2.5引入了基于注解的组件扫描,这消除了大量针对应用程序自身组件的显式XML配置。Spring 3.0引入了基于Java的配置,这是一种类型安全的可重构配置方式,可以代替XML。

    所有这些配置都代表了开发时的损耗。因为在思考Spring特性配置和解决业务问题之间需要进行思维切换,所以编写配置挤占了编写应用程序逻辑的时间。和所有框架一样,Spring实用,但与此同时它要求的回报也不少。

    除此之外,项目的依赖管理也是一件耗时耗力的事情。在环境搭建时,需要分析要导入哪些库的坐标,而且还需要分析导入与之有依赖关系的其他库的坐标,一旦选错了依赖的版本,随之而来的不兼容问题就会严重阻碍项目的开发进度。

    MyBatis

    @

    简介

    优点

    最大的优点是SQL语句灵活,适合调优情景,业务复杂情景

    劣势

    最大的劣势是不同数据库之间的迁移

    引入mybatis组件

    pom.xml中加入

    <dependency>
     <groupId>mysql</groupId>
     <artifactId>mysql-connector-java</artifactId>
    </dependency>
    <dependency>
     <groupId>org.mybatis.spring.boot</groupId>
     <artifactId>mybatis-spring-boot-starter</artifactId>
     <version>2.1.1</version>
    </dependency>

    application.properties中加入

    #dateSource
    spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
    spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false
    spring.datasource.username=root
    spring.datasource.password=root
    # mybatis
    # 下划线转驼峰开启
    mybatis.configuration.map-underscore-to-camel-case=true
    # mapper扫描位置
    mybatis.mapper-locations=classpath:mapper/*.xml

    需要说明的是,我引入的mysql驱动为 com.mysql.cj.jdbc.Driver,而不是 com.mysql.jdbc.Driver。以下是一些参数的说明;

    serverTimezone:该驱动需要指定某时区。 useUnicode:开启指定编码。 characterEncoding:指定读取数据库的编码,因为项目采用UTF-8,存取数据库信息时保持一致。 useSSL:是否建立SSL连接,我显示选的否,因为这要为服务器证书验证提供信任库,暂时没条件。

    代码实战

    本地的 mysql 版本为 5.7.20。

    建表语句

    CREATE TABLE USER_INFO
    (
     user_id DECIMAL(10) PRIMARY KEY NOT NULL,
     user_name VARCHAR(20) DEFAULT "" NOT NULL
    );
    CREATE UNIQUE INDEX USER_INFO_user_id_uindex ON USER_INFO (user_id);
    ALTER TABLE USER_INFO COMMENT = '用户基本信息表';