springcloud
基本的增删改出操作
服务器的Service的yml
server:
port: 9011
spring:
application:
name: goods
datasource:
driver-class-name: com.mysql.jdbc.Driver # 连接数据库驱动
url: jdbc:mysql://192.168.200.128:3306/changgou_goods?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC # 这里连接数据库,可以通过虚拟机也可以通过本地
username: root
password: root
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:6868/eureka # 服务注册中心
instance:
prefer-ip-address: true
feign:
hystrix:
enabled: true
#hystrix 配置
hystrix:
command:
default:
execution:
timeout:
#如果enabled设置为false,则请求超时交给ribbon控制
enabled: true
isolation:
strategy: SEMAPHORE
通用的dao,只要是同一张表都可以用这个
package com.changgou.goods.dao;
import com.changgou.goods.pojo.Brand;
import tk.mybatis.mapper.common.Mapper;
//下面的Mapper<Brand表>
public interface BrandMapper extends Mapper<Brand> {
}
service接口
package com.changgou.goods.service;
import com.changgou.goods.pojo.Brand;
import com.github.pagehelper.Page;
import java.util.List;
import java.util.Map;
public interface BrandService {
/**
* 列表查询实现查询所有品牌信息
*/
List<Brand> findAll();
/**
* 根据ID查询品牌信息
* @return
*/
Brand findOne(int id);
/**
* 新增品牌信息
*/
void add(Brand brand);
/**
* 修改品牌数据
*/
void edit(Brand brand);
/**
* 删除品牌信息根据ID删除
*/
void deleteGoodsById(Integer id);
/**
* 品牌列表条件查询
*/
List<Brand> list(Map<String,Object> searchMap);
/**
* 品牌列表的分页查询
*/
Page<Brand> searchPage(int pageNum, int pageSize);
/**
* 品牌按条件的分页查询
*/
Page<Brand> findPage(Map<String,Object> searchMap,int pageNum,int pageSize);
}
impl接口实现类
package com.changgou.goods.service.impl;
import com.changgou.goods.dao.BrandMapper;
import com.changgou.goods.pojo.Brand;
import com.changgou.goods.service.BrandService;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example;
import java.util.List;
import java.util.Map;
@Service
public class BrandServiceImpl implements BrandService {
@Autowired
private BrandMapper brandMapper;
/**
*
* 品牌列表实现类
* @return
*/
public List<Brand> findAll() {
List<Brand> list = brandMapper.selectAll();
return list;
}
/**
* 根据品牌id查询单条数据
* @return
*/
@Override
public Brand findOne(int id) {
Brand selectOne = brandMapper.selectByPrimaryKey(id);
return selectOne;
}
/**
* 品牌新增
* @param brand
*/
@Override
public void add(Brand brand) {
brandMapper.insertSelective(brand);
}
/**
* 品牌更新
* @param brand
*/
@Override
public void edit(Brand brand) {
brandMapper.updateByPrimaryKey(brand);
}
/**
* 通过id删除对应的品牌信息
* @param id
*/
@Override
public void deleteGoodsById(Integer id) {
brandMapper.deleteByPrimaryKey(id);
}
/**
* 品牌列表条件查询
* @param searchMap
* @return
*/
@Override
public List<Brand> list(Map<String, Object> searchMap) {
Example example=createExample(searchMap);
// Example example = new Example(Brand.class);
// //封装查询条件
// Example.Criteria criteria = example.createCriteria();
// if(searchMap!=null){
// //品牌条件查询(模糊查询)like %
// if(searchMap.get("name")!=null && !"".equals(searchMap.get("name"))){
// criteria.andLike("name","%"+searchMap.get("name")+"%");
// }
// //通过品牌信息的首字母查询(精确查询)
// if(searchMap.get("letter")!=null && !"".equals(searchMap.get("letter"))){
// criteria.andEqualTo("letter",searchMap.get("letter"));
// }
// }
List<Brand> brandList = brandMapper.selectByExample(example);
return brandList;
}
/**
* 分页查询品牌
* @param pageNum
* @param pageSize
* @return
*/
@Override
public Page<Brand> searchPage(int pageNum, int pageSize) {
PageHelper.startPage(pageNum,pageSize);
Page<Brand> page = (Page<Brand>) brandMapper.selectAll();
return page;
}
/**
* 分页条件查询品牌信息
*
* @param searchMap
* @param pageNum
* @param pageSize
* @return
*/
@Override
public Page<Brand> findPage(Map<String, Object> searchMap, int pageNum, int pageSize) {
//获取分页信息
PageHelper.startPage(pageNum,pageSize);
// Example example=new Example(Brand.class);
// Example.Criteria criteria = example.createCriteria();
//
// //品牌信息查询条件
// if(searchMap!=null){
// if(searchMap.get("name")!=null && !"".equals(searchMap.get("name"))){
// criteria.andLike("name","%"+searchMap.get("name")+"%");
// }
// if (searchMap.get("letter")!=null && !"".equals(searchMap.get("letter"))){
//
// criteria.andEqualTo("letter",searchMap.get("letter"));
// }
// }
Example example=createExample(searchMap);
Page<Brand> pageInfo =(Page<Brand>) brandMapper.selectByExample(example);
return pageInfo;
}
/**
* 重复代码构造
*/
public Example createExample(Map<String,Object> searchMap){
Example example=new Example(Brand.class);
Example.Criteria criteria = example.createCriteria();
//品牌信息查询条件
if(searchMap!=null){
if(searchMap.get("name")!=null && !"".equals(searchMap.get("name"))){
criteria.andLike("name","%"+searchMap.get("name")+"%");
}
if (searchMap.get("letter")!=null && !"".equals(searchMap.get("letter"))){
criteria.andEqualTo("letter",searchMap.get("letter"));
}
}
return example;
}
}
controller
package com.changgou.goods.controller;
import com.changgou.entity.PageResult;
import com.changgou.entity.Result;
import com.changgou.entity.StatusCode;
import com.changgou.goods.pojo.Brand;
import com.changgou.goods.service.BrandService;
import com.github.pagehelper.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping("/brand")
public class BrandController {
@Autowired
private BrandService brandService;
// @GetMapping("/brand")
// public List<Brand> findAll(){
// List<Brand> brandList = brandService.findAll();
// return brandList;
// }
/**
* 查询所有的品牌数据
* @return
*/
@GetMapping("/brand")
public Result<List<Brand>> findAll(){
List<Brand> brandList = brandService.findAll();
return new Result<>(true, StatusCode.OK,"查询成功",brandList);
}
/**
* 根据id查询品牌单条数据
*/
@GetMapping("/brandById/{id}")
public Result findOneById(@PathVariable("id") int id){
Brand brand = brandService.findOne(id);
return new Result(true,StatusCode.OK,"查询成功",brand);
}
/**
* 添加品牌信息
*/
@PostMapping
public Result add(@RequestBody Brand brand){
brandService.add(brand);
return new Result(true,StatusCode.OK,"添加成功");
}
/**
* 更新品牌数据
*/
@PutMapping("/{id}")
public Result edit(@PathVariable("id") Integer id,@RequestBody Brand brand){
brand.setId(id);
brandService.edit(brand);
return new Result(true,StatusCode.OK,"更新成功");
}
/**
* 通过id删除品牌信息
*/
@DeleteMapping("/{id}")
public Result deleteGoodsById(@PathVariable("id") Integer id){
brandService.deleteGoodsById(id);
return new Result(true,StatusCode.OK,"删除成功");
}
/***
* 通过品牌条件查询数据
*/
@GetMapping("/search")
public Result<List<Brand>> search(@RequestParam Map searchMap){
List<Brand> list = brandService.list(searchMap);
return new Result<>(true,StatusCode.OK,"查询成功",list);
}
/**
* 分页查询品牌信息
*/
@GetMapping("/search/{pageNum}/{pageSize}")
public Result findPage(@PathVariable("pageNum") int pageNum,@PathVariable("pageSize") int pageSize){
Page<Brand> page=brandService.searchPage(pageNum,pageSize);
PageResult result = new PageResult(page.getTotal(),page.getResult());
return new Result(true,StatusCode.OK,"查询成功",result);
}
/**
*
* 根据条件分页查询品牌数据
*/
@GetMapping("/searchPage/{pageNum}/{pageSize}")
public Result findPages(@RequestParam Map search,@PathVariable("pageNum") int pageNum,@PathVariable("pageSize") int pageSize){
Page<Brand> pageList = brandService.findPage(search, pageNum, pageSize);
PageResult result = new PageResult(pageList.getTotal(),pageList.getResult());
return new Result(true,StatusCode.OK,"查询成功",result);
}
}
pojo写在service-api
注意:@Table里面的name=“表名”,@Id代表是主键
package com.changgou.goods.pojo;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
@Table(name = "tb_brand")
public class Brand implements Serializable {
@Id
private Integer id;//品牌id
private String name;//品牌名称
private String image;//品牌图片地址
private String letter;//品牌的首字母
private Integer seq;//排序
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public String getLetter() {
return letter;
}
public void setLetter(String letter) {
this.letter = letter;
}
public Integer getSeq() {
return seq;
}
public void setSeq(Integer seq) {
this.seq = seq;
}
}
e;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public String getLetter() {
return letter;
}
public void setLetter(String letter) {
this.letter = letter;
}
public Integer getSeq() {
return seq;
}
public void setSeq(Integer seq) {
this.seq = seq;
}
}