一、新建Spring Boot项目

注意:创建的时候勾选Mybatis依赖,pom文件如下

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

二、配置文件application.properties中配置数据库信息

三、创建两个表(Employee,Department)

四、创建JavaBean 用来封装表的数据

五、使用mybatis对数据库进行操作

  • 配置文件方式

    • 在resources目录下新建目录:

      

    • mybatis-config.xml  内容如下

      <?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> </configuration>
    • EmployeeMapper.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"> <!--将EmployeeMapper的全类名(右键复制相对路径)复制出来,放在namespace里面-->
      <mapper namespace="com.demo.springboot.mapper.EmployeeMapper"> <!--将接口的方法配置到映射文件中
      id="方法名"
      resultType="返回值类型Employee的全类名"-->
      <select id="getEmpById" resultType="com.demo.springboot.bean.Employee">
      select * from Employee where id=#{id};
      </select>
      </mapper>
    • 将EmployeeMapper接口的方法配置在映射文件EmployeeMapper.xml中
    • 在application.properties 中添加配置

      #mybatis配置
      mybatis.config-location=classpath:mybatis/mybatis-config.xml
      mybatis.mapper-locations=classpath:mybatis/mapper/*.xml
    • 运行后测试(同下面的注解版 “***测试:新增一个Controller.DeptController”)   
  • 注解版方式
    • 创建包:mapper
    • 在包下添加一个接口:DepartmentMapper
       /**
      * 指定这是一个操作数据库的mapper
      */
      @Mapper
      public interface DepartmentMapper { @Select("select * from Department where id=#{id}")
      public Department getDeptById(Integer id); @Delete("delete from Department where id=#{id}")
      public int deleteDeptById(Integer id); @Insert("insert into Department(departmentName) values=(#{departmentName})")
      public int insertDept(Department department); @Update("update Department set departmentName=#{departmentName} where id=#{id}")
      public int updateDept(Department department);
      }
    • ***测试:新增一个Controller.DeptController
       @RestController
      public class DeptController { @Autowired
      DepartmentMapper departmentMapper; //查询,带入浏览器中的参数id
      @GetMapping("dept/{id}")
      public Department getDepartment(@PathVariable("id") Integer id){
      return departmentMapper.getDeptById(id);
      } //插入
      @GetMapping("dept/add")
      public Department addDepartment(Department department){
      departmentMapper.insertDept(department);
      return department;
      }
      }
    • 测试结果:

Spring Boot框架 - 数据访问 - 整合Mybatis的更多相关文章

  1. Spring Boot框架 - 数据访问 - JDBC&自动配置

    一.新建Spring Boot 工程 特殊勾选数据库相关两个依赖 Mysql Driver — 数据库驱动 Spring Data JDBC 二.配置文件application.properties ...

  2. Spring Boot的数据访问:CrudRepository接口的使用

    示例 使用CrudRepository接口访问数据 创建一个新的Maven项目,命名为crudrepositorytest.按照Maven项目的规范,在src/main/下新建一个名为resource ...

  3. (8)Spring Boot 与数据访问

    文章目录 简介 整合基本的JDBC与数据源 整合 druid 数据源 整合 mybatis 简介 对于数据访问层,无论是 SQL 还是 NOSQL ,Spring Boot 默认都采用整合 Sprin ...

  4. spring boot(二)整合mybatis plus+ 分页插件 + 代码生成

    先创建spring boot项目,不知道怎么创建项目的 可以看我上一篇文章 用到的环境 JDK8 .maven.lombok.mysql 5.7 swagger 是为了方便接口测试 一.Spring ...

  5. Spring Boot 知识笔记(整合Mybatis)

    一.pom.xml中添加相关依赖 <!-- 引入starter--> <dependency> <groupId>org.mybatis.spring.boot&l ...

  6. Spring Boot学习笔记(五)整合mybatis

    pom文件里添加依赖 <!-- 数据库需要的依赖 --> <dependency> <groupId>org.mybatis.spring.boot</gro ...

  7. Spring Boot实现数据访问计数器

    1.数据访问计数器   在Spring Boot项目中,有时需要数据访问计数器.大致有下列三种情形: 1)纯计数:如登录的密码错误计数,超过门限N次,则表示计数器满,此时可进行下一步处理,如锁定该账户 ...

  8. Spring Boot的数据访问 之Spring Boot + jpa的demo

    1. 快速地创建一个项目,pom中选择如下 <?xml version="1.0" encoding="UTF-8"?> <project x ...

  9. [Spring] 学习Spring Boot之二:整合MyBatis并使用@Trasactional管理事务

    一.配置及准备工作 1.在 Maven 的 pom 文件中新增以下依赖: <dependency> <groupId>mysql</groupId> <art ...

随机推荐

  1. Qt Installer Framework翻译(7-8)

    C++ API C ++ API文档是为开发Qt Installer Framework的开发人员编写的. 它描述了内部API,因此没有兼容性保证. 此外,该文档尚在开发中,因此缺少部分内容,而其他部 ...

  2. 小I的小姐姐

    小 I 的小姐姐 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 小 I 去天津玩啦,一路上,他跟他的同学发生了许多有趣 ...

  3. 天兔修改登录页的title

    1.将 /opt/lampp/htdocs/lepus/application/views/login.php 文件中 第6行 <title><?php echo $this-> ...

  4. How to read a paper efficiently - by prof. Pete carr

    DON'T DO THAT: read the article from the beginning to end; it's a waste of time! READ A PAPER IN TWO ...

  5. Docker最全教程---从理论到实战

    目录 前言 随着生产力的发展尤其是弹性架构的广泛应用(比如微服务),许多一流开发者都将应用托管到了应用容器上,比如Google.微软.亚马逊.腾讯.阿里.京东和新浪. 从未来的发展方向来看,容器引擎将 ...

  6. 为QT应用程序添加图标 转

    第1,第2种方法经本人验证可行 1:通过qmake生成makefile实现过程: (1) 找到一张图片.ico,名字改为myappico.ico: (2) 创建一个新的文本文档,内部添加  IDI_I ...

  7. 谷歌浏览器安装jsonview

    1.下载JsonView扩展程序压缩包 下载链接:https://pan.baidu.com/s/1B0IkrHHyTiYtwJEGE_halA 提取码:myi6 2.解压这个压缩包 3.打开谷歌浏览 ...

  8. Markdown上手使用

    前言 学习Markdown主要是为了更好的编辑博客(捂脸),顺便学一学Markdown语法,毕竟MarkdownPad 2放着吃灰好久了(雾) MarkdownPad2 下载 链接:https://p ...

  9. Sql 语句常语法

    以前感觉在这个方面很欠缺,于是就找了些这方面的材料,自己也做了些总结,汇总到了一块.便于以后的查阅. --1.获取表的主键字段SELECT name FROM SysColumns WHERE id= ...

  10. leetcode全部滑动窗口题目总结C++写法(完结)

    3. 无重复字符的最长子串 A: 要找最长的无重复子串,所以用一个map保存出现过的字符,并且维持一个窗口,用le和ri指针标识.ri为当前要遍历的字符,如果ri字符在map中出现过,那么将le字符从 ...