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);
    }

}


相关文章
|
7天前
|
Java Maven Android开发
微服务——SpringBoot使用归纳——Spring Boot开发环境搭建和项目启动
本文介绍了Spring Boot开发环境的搭建和项目启动流程。主要内容包括:jdk的配置(IDEA、STS/eclipse设置方法)、Spring Boot工程的构建方式(IDEA快速构建、官方构建工具start.spring.io使用)、maven配置(本地maven路径与阿里云镜像设置)以及编码配置(IDEA和eclipse中的编码设置)。通过这些步骤,帮助开发者顺利完成Spring Boot项目的初始化和运行准备。
42 0
微服务——SpringBoot使用归纳——Spring Boot开发环境搭建和项目启动
|
7天前
|
Java 测试技术 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——少量配置信息的情形
本课主要讲解Spring Boot项目中的属性配置方法。在实际开发中,测试与生产环境的配置往往不同,因此不应将配置信息硬编码在代码中,而应使用配置文件管理,如`application.yml`。例如,在微服务架构下,可通过配置文件设置调用其他服务的地址(如订单服务端口8002),并利用`@Value`注解在代码中读取这些配置值。这种方式使项目更灵活,便于后续修改和维护。
15 0
|
7天前
|
Java 微服务 Spring
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录——使用Logger在项目中打印日志
本文介绍了如何在项目中使用Logger打印日志。通过SLF4J和Logback,可设置不同日志级别(如DEBUG、INFO、WARN、ERROR)并支持占位符输出动态信息。示例代码展示了日志在控制器中的应用,说明了日志配置对问题排查的重要性。附课程源码下载链接供实践参考。
43 0
|
7天前
|
Java 数据库 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——指定项目配置文件
在实际项目中,开发环境和生产环境的配置往往不同。为简化配置切换,可通过创建 `application-dev.yml` 和 `application-pro.yml` 分别管理开发与生产环境配置,如设置不同端口(8001/8002)。在 `application.yml` 中使用 `spring.profiles.active` 指定加载的配置文件,实现环境快速切换。本节还介绍了通过配置类读取参数的方法,适用于微服务场景,提升代码可维护性。课程源码可从 [Gitee](https://gitee.com/eson15/springboot_study) 下载。
27 0
|
7天前
|
Java 微服务 Spring
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——少量配置信息的情形
在微服务架构中,随着业务复杂度增加,项目可能需要调用多个微服务。为避免使用`@Value`注解逐一引入配置的繁琐,可通过定义配置类(如`MicroServiceUrl`)并结合`@ConfigurationProperties`注解实现批量管理。此方法需在配置文件中设置微服务地址(如订单、用户、购物车服务),并通过`@Component`将配置类纳入Spring容器。最后,在Controller中通过`@Resource`注入配置类即可便捷使用,提升代码可维护性。
18 0
|
人工智能 移动开发 Java
Android Studio插件版本与Gradle 版本对应关系
Android Studio插件版本与Gradle 版本对应关系
2979 0
Android Studio插件版本与Gradle 版本对应关系
|
存储 Java Android开发
Android 开发 - 充分利用Gradle
Android 开发 - 充分利用Gradle
212 2
|
1月前
|
前端开发 Java Shell
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
193 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
5月前
|
Android开发
Android基于gradle task检查各个module之间资源文件冲突情况
Android基于gradle task检查各个module之间资源文件冲突情况
Android基于gradle task检查各个module之间资源文件冲突情况
|
5月前
|
Android开发
Android gradle task任务检查各个module之间资源文件冲突.md
Android gradle task任务检查各个module之间资源文件冲突.md
Android gradle task任务检查各个module之间资源文件冲突.md

热门文章

最新文章

推荐镜像

更多