更多精彩关注微信公众号

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. Linux给防火墙开外网端口

    /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT 80:外网端口

  2. Linux less命令查看文件常用查询方法

    g 跳到文件开头 G 跳到文件结尾 / 往下搜索字符 ? 网上搜索字符 n 执行上一个搜索(/或者?的搜索),例如上一个搜索是使用/搜索的,则继续使用/搜索,即往下搜索结果 N 反向执行上一个搜索(/ ...

  3. Cookie实现记住密码、自动登录

    前端代码 <form id="form" action="xxx" method="post"> <div> < ...

  4. Hdfs block数据块大小的设置规则

    1.概述 hadoop集群中文件的存储都是以块的形式存储在hdfs中. 2.默认值 从2.7.3版本开始block size的默认大小为128M,之前版本的默认值是64M. 3.如何修改block块的 ...

  5. 数字转人民币读法-python3

    """ 2 把一个浮点数分解成证书备份和小数部分 3 """ 4 def divide(num): 5 intnum = int(num) ...

  6. Linux 切换用户提示Permission denied

    在使用 su - hdfs 切换到 hdfs 用户时提示 su: Permission denied,但是密码确认是没错的. 找到文件 /etc/pam.d/su,注释掉 auth required ...

  7. Go 中的 gRPC 入门详解

    目录 Go GRPC 入门 1,安装包 2,gRPC 服务端 3,gRPC 客户端 4,编译运行 5,其它 GRPC Protobuf buffer 字段类型 字段规则 Protobuf gRPC 四 ...

  8. JS中dom操作的事件

    Click--点击事件 优先级:dom.onclick 高于标签上的onClick属性 监听事件 --不会覆盖前面的事件效果 dom.addEventListener()    括号里面有三个参数 1 ...

  9. 使用python的虚拟环境virtualenv

    技术背景 在前面几篇博客中我们介绍了容器的使用(博客1.博客2.博客3.博客4.博客5),容器是一种系统级的隔离方案,更多的强调资源上的隔离.而这里我们要介绍的python的虚拟环境,更加强调的是依赖 ...

  10. InfluxDB、Grafana等开源软件的监控后门

    在使用手机APP的过程中,用户信息会不知不觉的被APP悄无声息的收集到云端,然后进行各种用户行为分析以及智能推荐,这是众所周知但秘而不宣的事. 在使用开源软件时,也存在悄悄收集用户使用信息,并且上报到 ...