更多精彩关注微信公众号

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. CentOS 7 卸载 OpenJDK 安装 OracleJDK

    查看 JDK 安装版本 java -version java version 1.7.0_51 OpenJDK Runtime Environment ( rhel-2.4.5.5.el7-x86_6 ...

  2. MVC中"删除"按钮无法实现

    出现原因:MVC视图中定义了空的模板页 解决办法:删除模板页 或 改成定义页面标题都可以

  3. 《C++反汇编与逆向分析技术揭秘》--算术运算和赋值

    一.加法 1.Debug下: 14: int nVarOne0 = 1 + 5 - 3 * 6;//编译时计算得到结果 00C0550E C7 45 F8 F4 FF FF FF mov dword ...

  4. 攻防世界 reverser secret-galaxy-300

    secret-galaxy-300 school-ctf-winter-2015 运行程序 完全没有flag的身影呀 ida查看字符串 也没有相关信息 动态调试,看运行后内存信息 发现了一串字符 al ...

  5. Amundsen在REA Group公司的应用实践

    REA Group是一家专门面向房地产与实业资产的跨国数字广告公司. 他们主要为消费者提供房地产购买.出售与租赁服务,同时发布各类房产新闻.装修技巧以及生活方式层面的内容.每一天,都有数百万消费者访问 ...

  6. Android Studio 之 用 Drawable resource file 美化 Button 样式

    shape •新建 Drawable resource file 点击 app/src/main/res 找到 drawable 文件夹,右击->New->Drawable Resourc ...

  7. ASP.NET Core依赖注入初识与思考

    文章首发地址 一.前言 在上一篇中,我们讲述了什么是控制反转(IoC)以及通过哪些方式实现的.这其中,我们明白了,控制反转(IoC) 是一种软件设计的模式,指导我们设计出更优良,更具有松耦合的程序,而 ...

  8. 加快Python运行速度

    01 使用哈希表的数据结构 如果在程序中遇到大量搜索操作时,并且数据中没有重复项,则可以使用查找而不是循环.举例如下: items = ['a', 'b',..,'100m'] #1000s of i ...

  9. Re:从零开始的Git保姆级使用教程

    观前提示: 本文主要介绍了用命令的方式对Git进行操作(全程用的win10系统),而对于TortoiseGit和github desktop等图形化操作知识,只进行简单介绍或提及,详细使用会在提到的地 ...

  10. 1. Intellij IDEA导入,主题修改,布局界面+部分工具栏菜单介绍

    Project 和module 的区别 module 相当与eclispe的项目project 相当与eclpise的工作空间 主题的修改 Setting的快捷键:Ctrl+shift+S