`

134. [视频]Spring Boot MyBatis升级篇-注解【从零开始学Spring Boot】

阅读更多

 

 

【视频&交流平台】

à SpringBoot视频

http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=400000000155061&utm_medium=share

à SpringCloud视频

http://study.163.com/course/introduction.htm?courseId=1004638001&utm_campaign=commission&utm_source=400000000155061&utm_medium=share

à Spring Boot源码

https://gitee.com/happyangellxq520/spring-boot

à Spring Boot交流平台

http://412887952-qq-com.iteye.com/blog/2321532

 

【本篇博客,有配套视频,视频地址:《 Spring Boot MyBatis升级篇-注解,公众号中点击下面的阅读原文,视频中讲解的更详细】

需求缘起:

在一节视频中,有这么一段留言:“会不会推出SpringBoot整合Mybaits配置文件sqlMapConfig.xml搭配mapper.xml的视频呢??? 看到有这个整合直接付款来看,结果是急速开发模式,sql都写在类中了,想看配置方式的 大神出一个吧。”粉丝需求,那才是真的需求。好吧,废话太多,不好,不好,还是赶紧进入正题。

 

本节大纲:

(1)MyBatis介绍
(2)注解思路
(3)新建project以及添加依赖包
(4)创建启动类App.java
(5)编写实体类Demo
(6)编写映射接口DemoMapper
(7)编写service类DemoService
(8)编写控制类DemoController
(9)配置数据库连接池
(10)测试

 

       接下来看看本节的内容:

1MyBatis介绍

       来源MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 201311月迁移到Github

       介绍MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java POJOsPlain Ordinary Java Objects,普通的 Java对象)映射成数据库中的记录。

 

2)注解思路

       Spring Boot中使用注解集成MyBatis的话,那么核心的文件就是实体类和SQL的映射类,比如DemoMapper,在此类当中就是方法和对应的注解sql语句,那么要怎么能够识别到DemoMapper类呢,在Spring Boot中就特别的简单,在启动类App中加入一个注解@MapperScan(指定Mapper包路径)

 

3)新建project以及添加依赖包

       新建工程取名为spring-boot-mybatis

       pom.xml文件中添加依赖包:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
 
  <groupId>com.kfit</groupId>
  <artifactId>spring-boot-mybatis</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>
 
  <name>spring-boot-mybatis</name>
  <url>http://maven.apache.org</url>
 
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
 
 
    <!-- spring boot parent节点,引入这个之后,在下面和spring boot相关的就不需要引入版本了; -->
    <parent>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-parent</artifactId>
       <version>1.4.1.RELEASE</version>
    </parent>
 
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
   
    <!-- web支持: 1、web mvc; 2、restful; 3、jackjson支持; 4、aop ........ -->
    <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
   
   
   
    <!-- mysql 数据库驱动. -->
    <dependency>
           <groupId>mysql</groupId>
           <artifactId>mysql-connector-java</artifactId>
    </dependency>
   
    <!-- spring-boot mybatis依赖:
       请不要使用1.0.0版本,因为还不支持拦截器插件,
     -->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>1.3.0</version>
    </dependency>
   
  </dependencies>
</project>

 

       在这里主要引入Spring Boot的相关的依赖包,MySQL数据库驱动,spring boot mybatis依赖包。这里需要注意版本号,1.0.0的版本还不支持拦截器插件。

 

4)创建启动类App.java

       创建启动类App.java

package com.kfit;
 
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
 
@SpringBootApplication
@MapperScan("com.kfit.*.mapper")
public class App {
    public static void main(String[] args) {
       SpringApplication.run(App.class, args);
    }
}

 

       这里要注意的一个注解是@MapperScan(),这个就是扫描Mapper类,也就是我们编写的SQL类。

 

5)编写实体类Demo

       实体类中就两个字段,idname

package com.kfit.demo.bean;
 
public class Demo {
    private int id;
    private String name;
    public int getId() {
       returnid;
    }
    public void setId(int id) {
       this.id = id;
    }
    public String getName() {
       return name;
    }
    public void setName(String name) {
       this.name = name;
    }
}
 

 

 

(6)编写映射接口DemoMapper      

这个类就是对应的SQL注解:

package com.kfit.demo.mapper;
 
import org.apache.ibatis.annotations.Insert;
import com.kfit.demo.bean.Demo;
 
public interface DemoMapper {
   
    @Insert("insert into Demo(name) values(#{name})")
    public void save(Demo demo);
   
}

 

       注意这个类是interface而不是class

 

7)编写serviceDemoService

package com.kfit.demo.service;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.kfit.demo.bean.Demo;
import com.kfit.demo.mapper.DemoMapper;
 
@Service
public class DemoService {
 
    @Autowired
    private DemoMapper demoMapper;
   
    @Transactional//添加事务.
    public void save(Demo demo){
       demoMapper.save(demo);
    }
   
}

 

 

8)编写控制类DemoController

package com.kfit.demo.controller;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.kfit.demo.bean.Demo;
import com.kfit.demo.service.DemoService;
 
@RestController
public class DemoController {
   
    @Autowired
    private DemoService demoService;
   
    @RequestMapping("/save")
    public Demo save(){
       Demo demo = new Demo();
       demo.setName("张三");
       demoService.save(demo);
       return demo;
    }
   
}

 

 

9)配置数据库连接池

application.properties中配置MySQL数据库连接:

########################################################
###datasource -- mysql的数据库配置.
########################################################
spring.datasource.url = jdbc:mysql://localhost:3306/test
spring.datasource.username = root
spring.datasource.password = root
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.max-active=20
spring.datasource.max-idle=8
spring.datasource.min-idle=8
spring.datasource.initial-size=10

 

 

10)测试

       好了,到这里就可以启动App.java进行访问测试了,访问地址:

http://127.0.0.1:8080/save

在访问之前需要注意:

1)确保创建了数据库test

2)确保创建了表Demo,建表语句如下:

CREATE TABLE  demo (
id  int  NOT NULL AUTO_INCREMENT ,
name  varchar(100) NULL ,
PRIMARY KEY (id)
);

 

       访问之后,在浏览器端会看到数据:

{"id":0,"name":"张三"}

 

当然最主要的是查看数据库中是否多了条数据,这才是王道。

       好了,祝大家好运,一次搞定。下篇博客接着MyBatis:《Spring Boot MyBatis升级篇-注解-自增ID

 

视频&交流平台

à SpringBoot网易云课堂视频

http://study.163.com/course/introduction.htm?courseId=1004329008

à Spring Boot交流平台

http://412887952-qq-com.iteye.com/blog/2321532

 

 

 

 

分享到:
评论

相关推荐

    spring-boot-mybatis-plus 一套打通 有注释 打开就可使用

    这样的项目通常包含完整的配置和示例代码,使得开发者可以立即上手,无需从零开始配置环境。 描述中提到的是最新版本的Spring Boot 2.x和MyBatis Plus。Spring Boot 2.x带来了许多改进和新特性,比如更好的性能、新...

    从零搭建一个 Spring Boot 开发环境!Spring Boot+Mybatis+Swagger2 环境搭建.docx

    在本文中,我们将详细介绍如何从零开始搭建一个基于Spring Boot的开发环境,其中包括Spring Boot、Mybatis和Swagger2的集成。首先,让我们了解为何选择Spring Boot。 **为什么使用Spring Boot** Spring Boot是...

    Spring Boot 系列实战合集.zip

    1. 创建第一个 Spring Boot 项目:从零开始创建一个简单的 "Hello, World!" 应用,理解 Maven 或 Gradle 项目的结构。 2. 使用 Spring Boot 的自动配置:探究如何利用自动配置来简化配置文件。 3. 开发 RESTful API...

    9. 使用JdbcTemplate【从零开始学Spring Boot】

    &lt;artifactId&gt;spring-boot-starter-jdbc ``` 接下来,我们需要配置数据源。Spring Boot支持多种数据库,例如MySQL、PostgreSQL等。这里以MySQL为例,配置`application.properties`文件: ```properties spring....

    Spring中文版基础教程,从0开始教你Spring

    《Spring中文版基础教程》是一本面向初学者的详尽指南,旨在帮助读者从零开始掌握Spring框架的基础知识。Spring是Java开发中最流行的轻量级框架之一,它提供了丰富的功能来简化企业级应用的开发。本教程将带你一步步...

    从零开始学Spring Boot

    《从零开始学Spring Boot》是一套全面且深入的学习教程,专为想要掌握Spring Boot技术的初学者设计。Spring Boot是Java开发中的一个热门框架,它简化了Spring应用的初始搭建以及开发过程,使得开发者可以更快地构建...

    Spring boot基础demo

    Spring Boot是Java开发中的一个流行框架,用于简化Spring应用程序的创建和配置过程。它通过提供预配置的starter pom或gradle...这个demo是一个实践型的学习资源,帮助开发者从零开始接触并掌握Spring Boot的基础知识。

    FShop是一款基于Spring Boot + Mybatis + Dubbo + Zookeeper

    开发者可以直接运行和使用,无需从零开始搭建环境。 【标签】进一步确认了系统的关键技术,包括Java语言、Spring Boot框架和Dubbo服务治理,这些标签可以帮助感兴趣的开发者快速定位到他们熟悉或者想要学习的技术...

    干净可用spring-boot的项目

    这大大节省了开发者从零开始构建新项目的时间,提高了开发效率。 下面我们将深入探讨Spring Boot的核心特性和主要知识点: 1. **起步依赖(Starter Dependencies)**:Spring Boot通过“起步依赖”管理依赖关系,...

    SpringBoot实战-清晰

    - **构建RESTful服务**:如何从零开始创建一个简单的RESTful服务,包括处理HTTP请求、响应JSON数据等。 - **集成外部服务**:如邮件服务、消息队列、支付平台等,展示如何将Spring Boot应用与其他系统无缝连接。 ...

    JavaEE企业级框架开发实战教程-教案-第3章-Spring Boot.docx

    Spring Boot基于约定优于配置的原则,旨在让你能够更快地从零开始构建应用。 **2. 配置复用的问题** 在第二章的学习中,我们了解到整合Spring、Spring MVC和MyBatis时,需要编写大量的配置文件。这些配置虽然不可或...

    java视频教程从零开始ssm项目实战迭代到spring boot架构部署源码

    本视频教程旨在帮助初学者从零开始掌握Java技术,并逐步进阶到能够进行SSM项目实战、迭代,直至熟悉Spring Boot架构的部署与源码分析。 首先,让我们从基础开始。Java是一种面向对象的编程语言,它具有跨平台的特性...

    Spring Boot2 教程.pdf

    【Spring Boot 2 教程】是针对Java开发者的一份详尽指南,旨在帮助读者从零开始学习并掌握Spring Boot 2的使用。Spring Boot 是一个简化Spring应用初始搭建以及开发过程的框架,它强调“约定优于配置”,使得开发者...

    Macbook中使用IDEA开发Spring+SpringMVC+Mybatis+Tomcat+MySQL项目新手必看

    以下是一份详细的步骤指南,帮助你从零开始构建这样的项目。 1. **环境配置**: - **Java环境**:首先确保安装了Java JDK,并设置好`JAVA_HOME`环境变量。 - **IDEA**:下载并安装IntelliJ IDEA社区版或专业版,...

    详尽的Spring2.0学习提纲

    1. 创建Spring项目:从零开始构建一个简单的Spring MVC应用,涉及配置、控制器、视图和数据库访问。 2. 高级特性实践:探索Spring Security、Spring WebSocket、Spring Boot等进阶主题,提升项目开发能力。 通过...

    架构探险_从零开始学spring

    《架构探险:从零开始学Spring》是一本深入浅出的Spring框架学习指南,作者通过细致入微的讲解,带领读者逐步掌握Spring的核心概念和技术。Spring作为Java领域最流行的轻量级框架,其广泛应用于企业级应用开发,是...

    Spring+vue的微服务简介外文文献加翻译

    它被设计为可以从零开始构建一个新的项目,也可以逐步地将现有项目的各个部分转换成Vue.js。Vue.js的核心库专注于视图层,易于与其他技术和库集成。Vue.js的主要特点包括组件化、指令、响应式数据绑定等,这些特性...

    Spring基础教程.pdf

    《Spring基础教程》是针对Java开发人员的一份详尽...本教程通过深入浅出的方式,结合源码分析和实用工具的使用,将帮助读者从零开始掌握Spring框架,提升Java开发技能,为构建高效、稳定的Java企业级应用打下坚实基础。

    spring-framework-learning-code:从0开始深入学习Spring小册子原始码-源码开源

    《Spring框架学习代码:从零开始深入学习Spring小册子源码开源》 Spring框架是Java开发中的核心组件,尤其在企业级应用中占据主导地位。这个开源项目提供了从零开始学习Spring框架的源码,旨在帮助开发者深入理解...

    first-spring-boot:tarup的Spring启动作业

    现在,我们将深入探讨Spring Boot的核心概念以及如何从零开始构建一个Spring Boot应用。 首先,Spring Boot的核心特性包括自动配置、起步依赖和内嵌Web服务器。自动配置是Spring Boot的一大亮点,它通过`@...

Global site tag (gtag.js) - Google Analytics