Gradle创建Spring Boot项目——2JPA

简介: Gradle创建Spring Boot项目

Entity

package com.wuti.Entity;

import javax.persistence.*;
import java.io.Serializable;

/**
 * Created by wtrover on 2017/6/23.
 */
@Entity
@Table(name = "city")
public class City implements Serializable {

    @Id
    @Column(name = "id")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;
    private String name;
    private String codeName;
    private String state;
    private String country;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getCodeName() {
        return codeName;
    }

    public void setCodeName(String codeName) {
        this.codeName = codeName;
    }
}
Dao
package com.wuti.Dao;

import com.wuti.Entity.City;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

/**
 * Created by wtrover on 2017/6/23.
 */
@Repository
public interface CityRepository extends JpaRepository<City, Integer> {

    //通过id查询
    City findById(int id);

    //通过名称查询
    City findByName(String name);

    //通过代号查询
    City findByCodeName(String codeName);
}
Service
package com.wuti.Service;

import com.wuti.Entity.City;

/**
 * Created by wtrover on 2017/6/23.
 */
public interface CityService {

    //通过id查询
    City findById(int id);

    //通过名称查询
    City findByName(String name);

    //通过代号查询
    City findByCodeName(String codeName);

    //添加一座城市
    City add(String name,String codeName,String state,String country);

    //更新一座城市
    City update(int id,String name,String codeName,String state,String country);

    //删除一座城市
    void delete(int id);

    //删除一座城市
    void delete(City city);
}
________________________________________________________________________


package com.wuti.Service;

import com.wuti.Dao.CityRepository;
import com.wuti.Entity.City;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * Created by wtrover on 2017/6/23.
 */
@Service(value = "CityService")
public class CityServiceImpl implements CityService {
    @Autowired
    private CityRepository cityRepository;

    @Override
    public City findById(int id) {
        return cityRepository.findById(id);
    }
    @Override
    public City findByName(String name) {
        return cityRepository.findByName(name);
    }
    @Override
    public City findByCodeName(String codeName) {
        return cityRepository.findByCodeName(codeName);
    }
    @Override
    public City add(String name, String codeName, String state, String country) {
        City city = new City();
        city.setName(name);
        city.setCodeName(codeName);
        city.setState(state);
        city.setCountry(country);
        return cityRepository.save(city);
    }
    @Override
    public City update(int id,String name,String codeName, String state,String country) {
        City city = new City();
        city.setId(id);
        city.setName(name);
        city.setCodeName(codeName);
        city.setState(state);
        city.setCountry(country);
        return cityRepository.save(city);
    }
    @Override
    public void delete(int id) {
        cityRepository.delete(id);
    }
    @Override
    public void delete(City city) {
        cityRepository.delete(city);
    }
}
Controller
package com.wuti.Controller;

import com.wuti.Entity.City;
import com.wuti.Service.CityService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

/**
 * Created by wtrover on 2017/6/23.
 */
@RestController
@RequestMapping(value = "city/")
public class CityController {

    @Autowired
    private CityService cityService;

    /**
     * 添加一座城市
     * @param name
     * @param codeName
     * @param state
     * @param country
     * @return
     */
    @PostMapping(value = "add")
    public City cityAdd(@RequestParam("name") String name,
                            @RequestParam(value = "codeName", required = false, defaultValue = "") String codeName,
                            @RequestParam(value = "state", required = false, defaultValue = "0") String state,
                            @RequestParam("country") String country) {
        return cityService.add(name,codeName,state,country);
    }

    /**
     * 更新一座城市
     * @param id
     * @param name
     * @param codeName
     * @param state
     * @param country
     * @return
     */
    @PostMapping(value = "update")
    public City cityUpdate(@RequestParam("id") Integer id,
                        @RequestParam("name") String name,
                        @RequestParam(value = "codeName", required = false, defaultValue = "") String codeName,
                        @RequestParam(value = "state", required = false, defaultValue = "0") String state,
                        @RequestParam("country") String country) {
        return cityService.update(id,name,codeName,state,country);
    }

    /**
     * 删除一座城市
     * @param id
     */
    @PostMapping(value = "delete")
    public void cityDelete(@RequestParam("id") Integer id) {
        cityService.delete(id);
    }

}


相关文章
|
2月前
|
Java 测试技术 数据库
Spring Boot中的项目属性配置
本节课主要讲解了 Spring Boot 中如何在业务代码中读取相关配置,包括单一配置和多个配置项,在微服务中,这种情况非常常见,往往会有很多其他微服务需要调用,所以封装一个配置类来接收这些配置是个很好的处理方式。除此之外,例如数据库相关的连接参数等等,也可以放到一个配置类中,其他遇到类似的场景,都可以这么处理。最后介绍了开发环境和生产环境配置的快速切换方式,省去了项目部署时,诸多配置信息的修改。
|
4天前
|
Java 数据库连接 API
【Java笔记+踩坑】Spring Data JPA
从常用注解、实体类和各层编写方法入手,详细介绍JPA框架在增删改查等方面的基本用法,以及填充用户名日期、分页查询等高级用法。
【Java笔记+踩坑】Spring Data JPA
|
1月前
|
XML JSON Java
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
本文介绍了如何使用IntelliJ IDEA和Maven搭建一个整合了Struts2、Spring4、Hibernate4的J2EE项目,并配置了项目目录结构、web.xml、welcome.jsp以及多个JSP页面,用于刷新和学习传统的SSH框架。
31 0
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
|
1月前
|
安全 Java 数据安全/隐私保护
基于SpringBoot+Spring Security+Jpa的校园图书管理系统
本文介绍了一个基于SpringBoot、Spring Security和JPA开发的校园图书管理系统,包括系统的核心控制器`LoginController`的代码实现,该控制器处理用户登录、注销、密码更新、角色管理等功能,并提供了系统初始化测试数据的方法。
30 0
基于SpringBoot+Spring Security+Jpa的校园图书管理系统
|
1月前
|
前端开发 JavaScript Java
spring boot+vue前后端项目的分离(我的第一个前后端分离项目)
该博客文章介绍了作者构建的第一个前后端分离项目,使用Spring Boot和Vue技术栈,详细说明了前端Vue项目的搭建、后端Spring Boot项目的构建过程,包括依赖配置、数据库连接、服务层、数据访问层以及解决跨域问题的配置,并展示了项目的测试结果。
spring boot+vue前后端项目的分离(我的第一个前后端分离项目)
|
1月前
|
Java 关系型数据库 MySQL
|
17天前
|
Java Spring 数据库
怎样动动手指就能实现数据操作?Spring Data JPA背后的魔法揭秘
【8月更文挑战第31天】在Java开发中,数据库交互至关重要。传统的JDBC操作繁琐且难维护,而Spring Data JPA作为集成JPA的数据访问层解决方案,提供了CRUD等通用操作接口,显著减少代码量。通过继承`JpaRepository`,开发者能轻松实现数据的增删改查,甚至复杂查询和分页也不再困难。本文将通过示例详细介绍如何利用Spring Data JPA简化数据访问层的开发,提升代码质量和可维护性。
25 0
|
1月前
|
IDE Java Shell
如何快速搭建一个 Spring Boot 项目?
本指南介绍如何通过Spring Initializr创建一个基本的Spring Boot Web项目。首先访问`start.spring.io`,选择Maven项目、Java语言、Spring Boot版本3.1.0、Java 17,并勾选Spring Web依赖。点击“Generate”下载项目模板。解压后,IDE打开项目并修改`DemoApplication.java`,添加REST控制器以实现一个简单的“Hello World!”服务。通过`@RestController`和`@GetMapping`注解定义Web端点,使用`@RequestParam`获取URL参数。
|
1月前
|
IDE Java Shell
如何快速搭建一个 Spring Boot 项目?
Spring Boot 可以用最少的配置来快速创建一个独立的、生产级的 Spring 应用程序。 本文介绍如何快速搭建一个 Spring Boot「Hello World!」项目。
|
27天前
|
存储 Java 数据库