第一步创建项目:

创建项目地址:https://start.spring.io/

接下来就下载到本地了 跟着加压

接着用idea打开:等待资源下载完成

我写了个简单的:增删改查

项目结构:

dao层:

package com.nf147.demo.dao;

import com.nf147.demo.entity.News;
import org.springframework.data.jpa.repository.JpaRepository; public interface NewsMapper extends JpaRepository<News,Integer> { //第一个参数是实体类,第二个是id的类型
}

entity层:

package com.nf147.demo.entity;

import javax.persistence.*;

@Entity
@Table(name = "news") //表名
public class News {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY) //标明该字段是自动增长
private int id;
private String title;
private String body; public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getTitle() {
return title;
} public void setTitle(String title) {
this.title = title;
} public String getBody() {
return body;
} public void setBody(String body) {
this.body = body;
}
}

service层:

package com.nf147.demo.service;

import com.nf147.demo.entity.News;

import java.util.List;

public interface NewsService {
List<News> listAll();
void add (News news);
void del (int id);
void update(News news);
}

实现服务接口:

package com.nf147.demo.service;

import com.nf147.demo.dao.NewsMapper;
import com.nf147.demo.entity.News;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service; import java.util.List; @Service
public class NewsServiceImp implements NewsService { @Autowired
private NewsMapper newsMapper; @Override
@Cacheable("listNews")
public List<News> listAll() {
return newsMapper.findAll();
} @Override
public void add(News news) {
newsMapper.save(news); } @Override
public void del(int id) {
newsMapper.deleteById(id);
} @Override
public void update(News news) {
newsMapper.save(news);
}
}

controller层:

package com.nf147.demo.controller;

import com.nf147.demo.entity.News;
import com.nf147.demo.service.NewsServiceImp;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController; import java.util.List; @RestController public class NewsController { @Autowired
private NewsServiceImp newsServiceImp; //查询
@RequestMapping(value = "/listNews", method = RequestMethod.GET)
public List<News> getNews() {
return newsServiceImp.listAll();
} //添加 http://localhost:8082/listNewsAdd?title=标题&body=随便给的内容
@RequestMapping(value = "/listNewsAdd", method = RequestMethod.GET)
public void add(News news) {
newsServiceImp.add(news);
} //删除
//地址栏写法 http://localhost:8082/listNewsdel?id=7
@RequestMapping(value = "/listNewsdel", method = RequestMethod.GET)
public void del(int id) {
newsServiceImp.del(id);
} //修改
//地址栏写法 http://localhost:8082/listNewsupdate?id=6&title=好好&body=学习
@RequestMapping(value = "/listNewsupdate", method = RequestMethod.GET)
public void del(News news) {
newsServiceImp.update(news);
} }

测试:

项目下载地址:https://github.com/nongzihong/Spring_Boot

Spring_Boot 简单例子的更多相关文章

  1. Hibernate4.2.4入门(一)——环境搭建和简单例子

    一.前言 发下牢骚,这段时间要做项目,又要学框架,搞得都没时间写笔记,但是觉得这知识学过还是要记录下.进入主题了 1.1.Hibernate简介 什么是Hibernate?Hibernate有什么用? ...

  2. AgileEAS.NET SOA 中间件平台.Net Socket通信框架-简单例子-实现简单的服务端客户端消息应答

    一.AgileEAS.NET SOA中间件Socket/Tcp框架介绍 在文章AgileEAS.NET SOA 中间件平台Socket/Tcp通信框架介绍一文之中我们对AgileEAS.NET SOA ...

  3. spring mvc(注解)上传文件的简单例子

    spring mvc(注解)上传文件的简单例子,这有几个需要注意的地方1.form的enctype=”multipart/form-data” 这个是上传文件必须的2.applicationConte ...

  4. ko 简单例子

    Knockout是在下面三个核心功能是建立起来的: 监控属性(Observables)和依赖跟踪(Dependency tracking) 声明式绑定(Declarative bindings) 模板 ...

  5. mysql定时任务简单例子

    mysql定时任务简单例子 ? 1 2 3 4 5 6 7 8 9     如果要每30秒执行以下语句:   [sql] update userinfo set endtime = now() WHE ...

  6. java socket编程开发简单例子 与 nio非阻塞通道

    基本socket编程 1.以下只是简单例子,没有用多线程处理,只能一发一收(由于scan.nextLine()线程会进入等待状态),使用时可以根据具体项目功能进行优化处理 2.以下代码使用了1.8新特 ...

  7. 一个简单例子:贫血模型or领域模型

    转:一个简单例子:贫血模型or领域模型 贫血模型 我们首先用贫血模型来实现.所谓贫血模型就是模型对象之间存在完整的关联(可能存在多余的关联),但是对象除了get和set方外外几乎就没有其它的方法,整个 ...

  8. [转] 3个学习Socket编程的简单例子:TCP Server/Client, Select

    以前都是采用ACE的编写网络应用,最近由于工作需要,需要直接只用socket接口编写CS的代码,重新学习这方面的知识,给出自己所用到的3个简单例子,都是拷贝别人的程序.如果你能完全理解这3个例子,估计 ...

  9. jsonp的简单例子

    jsonp的简单例子 index.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8&q ...

随机推荐

  1. Windows 下安装 ElasticSearch 修改 elasticsearch.yml的坑

    注意:  ElasticSerach 集成 IK分词器 的时候,整个路径不能有空格!!! 1. 文件后加入 严格复制粘贴,否则入坑 http.cors.enabled : true http.cors ...

  2. Mybatis-学习笔记(N)mybatis-generator 生成DAO、Mapper、entity

    1.mybatis-generator 生成DAO.Mapper.entity 所需环境:jdk 所需jar包:mybatis-generator-core-1.3.5.jar.MySQL-conne ...

  3. 2017沈阳区域赛Infinite Fraction Path(BFS + 剪枝)

    Infinite Fraction Path Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java ...

  4. Nginx 3.使用配置

    转 https://www.cnblogs.com/wcwnina/p/9946747.html 本文只针对Nginx在不加载第三方模块的情况能处理哪些事情,由于第三方模块太多所以也介绍不完,当然本文 ...

  5. django项目学习之QQ登录

    最近在用django框架写一个商城项目(前后端分离),里面用到的一些技术其他项目也可以借鉴,于是就想写一些博客记录,以防自己忘记,今天先写一个关于登录接口中引入QQ登录接口的流程. 关于QQ登录接口的 ...

  6. 环境变量和Path环境变量

    环境变量 百度百科下的定义 一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等. 环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所 ...

  7. nginx动静分离与网关

    当我们请求一个网页的时候,可能会加载很多css,js,img等静态文件:一般这些文件是很久都不会变化的,所以我们为了提高页面响应速度,完全可以将这些文件缓存到浏览器中(可以理解为cookie信息),这 ...

  8. 出去就餐并且理解Express.js的基本知识

    Going out to eat and understanding the basics of Express.js出去就餐并且理解Express.js的基本知识 原文:Going out to e ...

  9. ThinkPHP中的display()和fetch()的区别

    fetch()传入的参数是模板名,用模板文件来输出; display()传入的是字符串,输出传递的内容.

  10. ASSERT()断言

    头文件<assert.h>   作用:用于判断是否有非法的数据,有则程序报告错误,终止运行.(注意是非法情况,而不是错误情况)   ASSERT()和assert()的区别: ASSERT ...