环境准备,在之前的Spring Boot 教程(一)基础上,我们还需要做如下准备:

  • mysql数据库安装及配置(详见之前的博客:骑鹤下江南 mysql 安装及配置)
  • 一款测试后端的工具:PostMan,可自行在网上百度
  • (可选)配置本地maven库
  1. 有了mysql数据库,我们就可以在Spring Boot 上进行相应的配置了,首相配置pom 文件的maven依赖:
<!--        添加jdbc--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency>
<!--        添加mybatis--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.0.1</version></dependency>
<!--        添加mysql--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency>
  1. 配置yml文件,对于yml在这里简单介绍一下,还想了解更过可以百度,毕竟也是学习的过程。
    首先声明,所谓的yml文件 全名就是 application.yml,和 resources 目录下的application.properties功能相同,存放的位置也相同。
    其次application.yml 是需要新建的 ,项目生成的时候没有,新建了application.yml后需要删除原application.properties,因为会互斥。
    其中yml的可以是树型结构,也可以是目录形式层级之间用“.” 分割。
    最后给大家贴一张图,这是删除application.properties,并新建application.yml 后的效果:
  2. 在yml文件中添加如下配置:
spring.datasource.url: jdbc:mysql://localhost:3306/bootshop?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true
spring.datasource.username: root
spring.datasource.password: 111111
spring.datasource.driver-class-name: com.mysql.cj.jdbc.Driver

其中bootshop 是数据库名, 111111 是设置的mysql数据库密码。如图所示:

  1. 在数据库新建表 下面是我建的表(小说信息表),为了验证增删改查 结构比较简单,有3个字段,分别是id(编号,非自增),name(小说名),author(作者):

  1. 进行项目内的java代买书写及目录结构建立。本着所有的代码都需要被Demo2Application扫描到的原则(原因已经在教程(一)中阐述了),建立如下目录:
    pojo 存放实体类;
    service 存放逻辑代码;
    mapper 存放数据访问接口,相当于dao层,用于调用xml(mybatis的xml及对应的Spring Boot配置下文中会讲到)作为数据访问层 ;

  2. 书写各层代码 ,以根据id查询一条数据为例

首先于pojo下新建实体类Book,添加成员变量id,name,author,及get set 方法,及引用如下:


其中 @Component 作用:把普通pojo实例化到spring容器中

  1. 在mapper 下新建 BookMapper 添加代码如下:
@Repository
public interface BookMapper {public List<Book> queryBookById(@Param(value = "id") String id);}

@Repository:repository原意指的是仓库,即数据仓库的意思,Repository蕴含着真正的面向对象概念,即一个数据仓库角色,负责所有对象的持久化管理。
@Param(value = “id”) :用于写有sql的xml中,标识传入的参数

  1. 在service下新建 BookService添加代码如下:
@Service
public class BookService {@AutowiredBookMapper bookMapper;//查询public List<Book> queryBookById(String id){return bookMapper.queryBookById(id);}}

@Service: 用于标注业务层组件
@Autowired:自动导入,将创建的 Bean 注册到 IOC 容器中

  1. 于Controller下,新建BookInfoController,添加代码,并添加引用:
@RestController
public class BookInfoController {@Autowiredprivate BookService bookService;//查询所有 或 根据id查询@RequestMapping("/getBook")public List<Book> getBook(@RequestParam(required = false) String id) {List<Book> book1 = bookService.queryBookById(id);return book1;}}

@RequestMapping("/getBook"): @RequestMapping 是一个用来处理请求地址映射的注解, /getBook为浏览器访问的地址
@RequestParam(required = false) String id: 其中 @RequestParam(required = false) 是对于id的修饰 ,表示不必须,即可以为空
此时返回的数据结果集,应该是不带有id条件的,即返回的是所有记录。

  1. 接下来需要进行mybatis在yml中的配置 及 xml文件的书写:
    首先 在resources,文件夹下 新建mapping 文件夹,在其中新建BookMapper.xml, 新建的目录结构,及文件内容为:
    此处说明一下图中箭头的意义,仅给不常用mybatis的同学说道说道:
    1.映射到mapper:指namespace命名空间的地址应为对应的mapper的地址(图片中的demo1写错了,后来回来P成demo2的,见谅,下面贴的代买已经改过来了)
    2.映射的实体:指将resultMap的类型定义为对应的实体,在resultMap内部的字段和实体的成员变量对应
    3.于mapper中的方法名对应:指id应和mapper中的方法名相同
    4.相同:指查询sql的返回结果类型
    5.判断:此处是mybatis的一种判空的应用,如果不为空则sql会拼接下面的条件,否则没有=id这个条件,即查询所有。此处有两点需要说明,第一点在mapper中写了@Param(value = “id”) ,就是用在标识判断条件中的id,否则直接在sql中写<if test “id!=null” …>会报错;第二点,此处判断是配合controller中@RequestParam(required = false) String id 而写的,实现了不带有id条件,返回的所有记录。
<?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">
<mapper namespace="com.example.demo2.mapper.BookMapper"><resultMap id="BaseResultMap" type="com.example.demo2.pojo.Book"><result column="id" jdbcType="VARCHAR" property="id" /><result column="name" jdbcType="VARCHAR" property="name" /><result column="author" jdbcType="VARCHAR" property="author" /></resultMap><!--查询--><select id="queryBookById" resultMap="BaseResultMap" parameterType="String">select id,name,author from book_info where 1=1<if test="id!=null and id!=''">AND id = #{id}</if></select></mapper>

新建完xml文件后,yml 文件中添加:mybatis.mapper-locations: classpath:mapping/*.xml

  1. 最后一步 打开Demo2Application文件,添加注解@MapperScan(value = “com.example.demo2.mapper”):

    @MapperScan:可以指定要扫描的Mapper类的包的路径。如果不添加这个注解,那就要在每个mapper上添加@Mapper注解;注解多个mapper包 @MapperScan({“com.example.demo2.mapper”,“com.example.demo1.mapper”})

  2. 在数据库中插入几条数据,用作测试

  3. 启动项目,打开postman 访问地址localhost:8080/getBook,按图所示,添加查询条件key=id,value=111,点击send:

    可以看到已经可以查询到数据库数据了,返回的实体是json格式的数据。试着把id前的对号点掉,也就是没有查询条调用getBook,则返回的值是所有的数据,效果如下 (太长不截了):

    到目前为止的目录机构为(我是在教程(一)基础上做的,所以会有HelloController类):

  4. 查询已经实现了,增删改 无非是在各个层级增加对应的方法,下面把方法的截图附上,并附上gitHub 链接:
    **其中需要注意:**在进行新增修改测试时,需要向后台传入实体,而postman传入实体对象参数的方法如下图所示,对象需要写成json形式

    Controller:

    service:

    mapper:

    xml:

    git:https://github.com/HappyHappyWen/demo2.git

写在最后:提供方法、提供思路,但无法提供过程,过程很重要,诸君共勉之。

大雪坪剑来:

老剑神李淳罡望向这一幕,瞪大眼睛。
随即眼中黯然落寞缅怀追忆皆有。
那一年背负那女子上斩魔台,一样是大雨天气,一样是撑伞。
世人不知这位剑神当年被齐玄帧所误,木马牛被折并不算什么,只剩独臂也不算什么,这都不是李淳罡境界大跌的根由,哪怕在听潮亭下被困二十年,李淳罡也不曾走出那个自己的画地为牢。
原本与世已是无敌,与己又当如何?
李淳罡想起她临终时的容颜,当时她已说不出一个字,可今日想来,不就是那不悔两字吗?!
李淳罡走到大雪坪崖畔,身后是一如他与绿袍女子场景的撑伞男女。
她被一剑洞穿心胸时,曾惨白笑言:“天不生你李淳罡,很无趣呢。”
李淳罡大声道:“剑来!”
徽山所有剑士的数百佩剑一齐出鞘,向大雪坪飞来。
龙虎山道士各式千柄桃木剑一概出鞘,浩浩荡荡飞向牯牛大岗。
两拨飞剑。
遮天蔽日。
这一日,剑神李淳罡再入陆地剑仙境界。

大雪坪剑来 Spring Cloud 教程(二):Spring Boot 集成 mybatis 实现增删改查相关推荐

  1. 3. mysql的注解驱动的三种方式_上手spring boot项目(三)之spring boot整合mybatis进行增删改查的三种方式。...

    1.引入依赖 org.springframework.boot spring-boot-starter-web org.mybatis.spring.boot mybatis-spring-boot- ...

  2. Spring boot 整合 Mybatis 实现增删改查(MyEclipse版)

    1.首先搭建好一个Spring boot 程序,编写好启动类. 启动类代码如下: @SpringBootApplication public class Start {public static vo ...

  3. mybatis实现增删改查xml配置和后端Java编程完整教程

    mybatis实现增删改查xml配置和后端编程教程 SqlMapConfig.xml <?xml version="1.0" encoding="UTF-8&quo ...

  4. Spring+SpringMVC+Mybatis实现增删改查--(五)SSM修改员工页面搭建

    Spring+SpringMVC+Mybatis实现增删改查--(五)SSM修改员工页面搭建 修改员工: 1.在index.jsp页面点击"编辑"弹出编辑对话框 2.去数据库查询部 ...

  5. JavaWeb小项目(二)- 完成品牌数据的增删改查(JSP/MVC/三层架构综合应用)

    JavaWeb小项目(二)- 完成品牌数据的增删改查(JSP/MVC/三层架构综合应用) 文章目录 JavaWeb小项目(二)- 完成品牌数据的增删改查(JSP/MVC/三层架构综合应用) 环境搭建 ...

  6. Mybatis实现增删改查 -- Mybatis快速入门保姆级教程(二)

    文章目录 前言 五.配置文件完成增删改查 1.学习目标 2.入门案例环境准备 3.查询--查询所有 4.查询--根据id查询 5. 查询--条件查询 6.查询--多条件动态查询 7.条件查询--单条件 ...

  7. Spring Boot 中使用 MongoDB 增删改查

    本文快速入门,MongoDB 结合SpringBoot starter-data-mongodb 进行增删改查 1.什么是MongoDB ? MongoDB 是由C++语言编写的,是一个基于分布式文件 ...

  8. MySQL 学习二:高手必备!MySQL 增删改查高级命令大全硬核总结!

    文章目录 前言 一.连接到 MySQL 数据库 1.1.连接到本机上的 MySQL 1.2.连接到远程主机上的 MySQL 二.退出 MySQL 命令 三.修改 MySQL 密码 3.1.先给 roo ...

  9. Mybatis学习笔记(二) 之实现数据库的增删改查

    开发环境搭建 mybatis 的开发环境搭建,选择: eclipse j2ee 版本,mysql 5.1 ,jdk 1.7,mybatis3.2.0.jar包.这些软件工具均可以到各自的官方网站上下载 ...

  10. Spring Boot整合MongoDB实现增删改查

    MongoDB这两年来是本人一直使用较多的,之前的使用大多通过封装的工具类对数据库进行操作,虽然也算稳定,但有了Spring Boot之前的工具类直接加到SpringBoot里就没那么好使了,因此查阅 ...

最新文章

  1. php 多进程 返回值,php多进程
  2. 大疆口袋相机美颜怎么设置_大疆口袋小相机DJI Pocket 2套装版深度评测:变成生产力工具...
  3. 『设计模式』 又谈麦当劳的食品--组合模式(Composite)
  4. postgresql9.5 run 文件linux安装后配置成开机服务
  5. nginx PHP执行 502 bad gateway 或空白解决笔记
  6. Linux下apache+php+mysql配置攻略
  7. oracle查询语句查询增加一列内容
  8. 如何开机进测试内存软件,小U讲解内存检测工具memtest详细使用教程
  9. 看懂Oracle执行计划
  10. Sql Server2014 安装Northwind数据库
  11. 幼儿园数学目标_幼儿园数学区目标
  12. 计算机最大化快捷键,最大化窗口快捷键,mac窗口最大化快捷键
  13. wincc7.0显示无法访问服务器,WinCC 7.0 SP3 安装时提示网络连接不可用,无法安装...
  14. Kill Demodogs——c++——pow_na的博客
  15. 天河微信小程序入门《四》:融会贯通,form表单提交数据库
  16. 集大计算机与科学的研究生,明天,我是研究生丨感谢集大,我遇见了更好的自己...
  17. dout java,java-附加到ObjectOutputStream
  18. 2022年公共广播火灾报警系统市场深度分析及发展研究预测报告
  19. 电路板中的常见电子元器件种类汇总
  20. Functional Programming in C++

热门文章

  1. linux离线安装apr-util 报错,Linux 编译 apr-util 时报错
  2. Java之非对称加密
  3. 智齿科技获投B轮融资5000万人民币
  4. CTF学习之0基础入门笔记(一)
  5. 使用Python与Sharepoint进行交互——第2部分
  6. c语言pow函数原型_c语言pow的用法
  7. IB文学:如何评论现代诗歌?
  8. 环境篇:CM+CDH6.3.2环境搭建(全网最全)
  9. 离线浏览工具webdup 可下载网站页面
  10. 线性地址转换物理地址