zoukankan      html  css  js  c++  java
  • springboot整合mybatis(待更新)

      mybatis概述

      Mybatis是一个优秀的持久层框架,底层基于JDBC实现与数据库的交互。并在JDBC操作的基础上做了封装和优化,它借助灵活的SQL定制,参数及结果集的映射方式,更好的适应了当前互联网技术的发展。通常mybatis框架会由spring框架进行资源整合。Mybatis框架的简单应用架构,图下图

    初始化配置
    添加mybatis启动依赖

    参考官网mybatis.org/spring,找到springboot菜单选项.基于菜单项找到MyBatis启动依赖。

    <dependency>

    <groupId>org.mybatis.spring.boot</groupId>

    <artifactId>mybatis-spring-boot-starter</artifactId>

    <version>2.1.1</version>

    </dependency>    

    mybatis简易配置

    打开application.properties文件,在此文件中进行基本配置 例如:         

    mybatis.configuration.default-statement-timeout=30

    mybatis.configuration.map-underscore-to-camel-case=true 

    配置mybatis中的sql日志的输出:(com.cy为我们写的项目的根包)

    logging.level.com.cy=DEBUG

    业务分析及实现

    基本业务实现 

    基于Spring对MyBatis框架的整合,实现对商品库中数据的删除操作 

    第一步:业务API架构设计,如图所示:

    第二步:基于id执行商品信息删除,其业务时序,如图所示:

    第三步:定义商品业务数据层接口及业务方法。

            

    package com.cy.pj.goods.dao;

    import org.apache.ibatis.annotations.Delete;

    import org.apache.ibatis.annotations.Mapper;

    * @Mapper 注解由mybatis框架定义,用于描述数据层接口对象
    * ,系统底层启动mybatis框架会基于@Mapper注解的描述,创建
    * 其接口实现类,并将实现类对象交给spring管理。
    *

    @Mapper

    public interface GoodsDao {

             @Delete("delete from tb_goods where id=#{id}")

             int deleteById(Integer id);

    }

     

    其中:@Mapper是由MyBatis框架中定义的一个描述数据层接口的的注解(所有的注解只起到一个描述性的作用),用于告诉Spring框架此接口的实现由mybatis创建,并将其实现类对象存储到spring容器.

    第四步:定义测试类,对GoodsDao对象进行应用测试

     

    @SpringBootTest

    public class GoodsDaoTests {    

       @Autowired

       private GoodsDao goodsDao;

     

            @Test

            public void testDeleteById() {

                    int rows=goodsDao.deleteById(10);

                    System.out.println("rows="+rows);

            }

    }

     第五步:删除业务时序图增强分析,如图所示(了解SqlSession应用):

    第六步:MyBatis API 对象应用过程分析,展示业务设计中API对象的一种调用关系,如图所示:

            

            

     

  • 相关阅读:
    基于51单片机数码管显示经ADC0808转化1K电位器分压5V模拟量为数字量的项目工程
    基于51单片机数码管显示经ADC0808转化1K电位器分压5V模拟量为0V-5V数字量的项目工程
    浅谈移动端过长文本溢出显示省略号的实现方案
    浅谈自动化测试
    Tomcat 优雅关闭之路
    InnoDB 事务加锁分析
    Tomcat 9.0.26 高并发场景下DeadLock问题排查与修复
    Kotlin 协程真的比 Java 线程更高效吗?
    Spark 数据倾斜及其解决方案
    大数据平台架构设计探究
  • 原文地址:https://www.cnblogs.com/wangjincai/p/13221208.html
Copyright © 2011-2022 走看看