更多精彩关注微信公众号

Mybaits技术连接数据库

resources

#update tomcat port
server.port=8888 #config datasource(mysql)
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql:///springboot
spring.datasource.username=root
spring.datasource.password=秘密 #config mybatis xml
mybatis.mapper-location=classpath:mapping/*.xml
mybatis.type-aliases-package=cn.java.entit

创建数据库

DDL信息

Create Table

CREATE TABLE `foods` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`food_name` varchar(40) DEFAULT NULL COMMENT '食品名',
`food_taste` varchar(2) DEFAULT NULL COMMENT '食品口味 1香辣 2微辣 3麻辣 4不辣',
`food_price` float(10,2) DEFAULT NULL COMMENT '食品价格',
`food_description` varchar(200) DEFAULT NULL COMMENT '食品描述',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8

INSERT INTO foods(food_name,food_taste,food_price,food_description) VALUES('鱼香肉丝','1',18.5,'很好吃'); 

DAO层

实体类    cn.java.entity       Food.java

package cn.java.entity;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString; @Getter
@Setter
@ToString
public class Food {
private Long id;
private String foodName;
private String foodTaste;
private Float foodPrice;
private String foodDescription;
}

映射mapper    cn.java.mapper  FoodMaper.java

package cn.java.mapper;

import cn.java.entity.Food;
import org.apache.ibatis.annotations.Insert; /*
增删改返回值为数字 所以设置int
食品 添加数据 DAO层完成
*/
public interface FoodMapper {
@Insert("INSERT INTO foods(food_name,food_taste,food_price,food_description) VALUES(#{foodName},#{foodTaste},#{foodPrice},#{foodDescription})")
int addFood(Food food);
}

 业务层

cn.java.service     FoodService.java  接口

package cn.java.service;

import cn.java.entity.Food;

/*
添加食品
*/
public interface FoodService {
boolean saveFood(Food food);
}

实现类  cn.java.service.impl    FoodServiceImpl   实现接口 FoodService

package cn.java.service.impl;

import cn.java.entity.Food;
import cn.java.mapper.FoodMapper;
import cn.java.service.FoodService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class FoodServiceImpl implements FoodService {
@Autowired
private FoodMapper foodMapper;
@Override
public boolean saveFood(Food food) {
return foodMapper.addFood(food) >=1 ? true : false; //业务方法 若是项目记者校验数据格式
}
}

控制层

cn.java.controller

FoodController.java

package cn.java.controller;

import cn.java.service.FoodService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import cn.java.entity.Food;
/*
添加食品 项目开发 多添加注释
*/
@Controller //添加@Controller 才是一个Controller
public class FoodController {
@Autowired
private FoodService foodService;
@RequestMapping("/insertFood.do") //添加虚拟路径
@ResponseBody
public boolean insertFood(Food food) {
return foodService.saveFood(food);
}

}

 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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>springboot2</groupId>
<artifactId>dingpeng_springboot2</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>dingpeng_springboot2 Maven Webapp</name>
<url>http://maven.apache.org</url> <!-- 配置 spring boot 所需的依赖包 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version> </parent> <dependencies>
<!-- springboot 相关启动 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency> <!-- spring boot热部署 为开发者提供了一个名为spring-boot-devtools的模块来使用Spring boot 应用支持热部署
提高开发者的开发效率无需手动重启Spring boot 应用 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency> <!-- log4j -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency> <!-- 使用Jasper 引擎解析JSP -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency> <!-- JSP 支持 -->
<!-- servlet 依赖 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency> <!-- spring boot 整合mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
<!-- MYSQL -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency> <!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.16</version>
<scope>provided</scope>
</dependency> <!-- 加入p6spy的依赖 -->
<!-- https://mvnrepository.com/artifact/p6spy/p6spy -->
<!--<dependency>
<groupId>p6spy</groupId>
<artifactId>p6spy</artifactId>
<version>2.1.4</version>
</dependency>--> <!-- druid 数据库连接池
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.10</version>
</dependency>-->
</dependencies> <!-- 简化部署 这个插件,可将应用打包成一个可执行的jar包 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!-- 没有这个配置, devtools 不生效 -->
<fork>true</fork>
</configuration>
</plugin>
</plugins>
<finalName>dingpeng_springboot2</finalName>
</build> </project>

使用的工具

Postman

结构图

springboot添加操作的更多相关文章

  1. SpringBoot应用操作Rabbitmq(fanout广播高级操作)

    一.广播模式fanout.不需要指定路由key. 注:与topic和direct区别是:fanout广播模式会两个队列同时发送相同的消息,并非由交换器转发到某一个队列 二.实战(广播模式) 1.引入m ...

  2. SpringBoot应用操作Rabbitmq(direct高级操作)

    一.首先声明完成任务架构,通过direct订阅/发布的模式进行生产消费. a.消息生产指定交换器和路由key b.消费者绑定交换器,路由key和队列的关系(集群监控收到的消息不重复) 二.实战演练 1 ...

  3. jQuery获取Radio选择的Value值||两个select之间option的互相添加操作(jquery实现)

    jQuery获取Radio选择的Value值: 1. $("input[name='radio_name'][checked]").val();  //选择被选中Radio的Val ...

  4. aop为系统添加操作日志,注入或配置声明的方式来实现

    最近做项目实现操作记录添加日志,由于aop这两种实现方式各有优缺点,所以都实现了一下以后根据具体业务选择. 1实现方式一注入: 1.1首先在xml中开启aop注入,需要引入的包此处省略,可百度自己查找 ...

  5. Springboot添加filter方法

    在springboot添加filter有两种方式: (1).通过创建FilterRegistrationBean的方式(建议使用此种方式,统一管理,且通过注解的方式若不是本地调试,如果在filter中 ...

  6. springboot添加邮件发送及压缩功能

    springboot添加邮件发送及文件压缩功能 转载请注明出处:https://www.cnblogs.com/funnyzpc/p/9190233.html 先来一段诗 ``` 就这样吧 忍受折磨 ...

  7. springboot添加多数据源连接池并配置Mybatis

    springboot添加多数据源连接池并配置Mybatis 转载请注明出处:https://www.cnblogs.com/funnyzpc/p/9190226.html May 12, 2018  ...

  8. SpringBoot - 添加定时任务

    SpringBoot 添加定时任务 EXample1: import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.spri ...

  9. SpringBoot学习(3)-SpringBoot添加支持CORS跨域访问

    SpringBoot学习(3)-SpringBoot添加支持CORS跨域访问 https://blog.csdn.net/yft_android/article/details/80307672

随机推荐

  1. h5移动端常见的问题及解决方案

    01.ios端兼容input高度 #问题描述 input输入框光标,光标的高度和父盒子的高度一样,而android手机没问题 android ios #产生原因 通常我们习惯用height属性设置行间 ...

  2. JSP配置虚拟路径及虚拟主机

    1.tomact解压后目录 bin:可执行文件(startup.bat   shutdown.bat) conf:配置文件(server.xml) lib:tomcat以来的jar文件 log:日志文 ...

  3. pta 简单求和

    6-1 简单求和 (10 分)   本题要求实现一个函数,求给定的N个整数的和. 函数接口定义: int Sum ( int List[], int N ); 其中给定整数存放在数组List[]中,正 ...

  4. 攻防世界 reverse reverse-for-the-holy-grail-350

    reverse-for-the-holy-grail-350   tu-ctf-2016 程序流程很简单,就一个检验函数: 1 __int64 __fastcall stringMod(__int64 ...

  5. 【Django笔记0】-Django项目创建,settings设置,运行

    Django项目创建,settings设置,运行 1,项目创建 ​ 通过pip下载Django以后,在cmd中cd到想要创建项目的路径,之后输入: django-admin startproject ...

  6. Android 之 使用 Intent 在活动间传递数据

    •前言 继上次学习了<通过 Intent 完成点击按钮实现页面跳转>后,我们知道了如何通过 Intent 实现页面跳转: Intent 除了可以实现页面跳转外,还可以在跳转的时候传递数据: ...

  7. CSS 文字装饰 text-decoration & text-emphasis

    在 CSS 中,文字算是我们天天会打交道的一大类了,有了文字,则必不可少一些文字装饰. 本文将讲讲两个比较新的文字装饰的概念 text-decoration 与 text-emphasis,在最后,还 ...

  8. kiali的服务降级和暗隐的有关问题

    记录两个问题 1. 服务在kiali的Applications 和 Workloads 显示为降级状态 2. 服务已经删除后在kiali的 Graph 显示依然存在 前言 istio部署到预发集群后, ...

  9. B. 【例题2】雷达装置

    B . [ 例 题 2 ] 雷 达 装 置 B. [例题2]雷达装置 B.[例题2]雷达装置 题目解析 求最少所需的雷达数,考虑贪心算法. 以这张图为例.以一个城市为中心,作一个半径为 d d d的圆 ...

  10. [BFS]细胞问题

    细胞问题 题目描述 一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数.(1<=m,n<=100)? 输入格 ...