后台第一课(自学向笔记)

后台基础知识笔记

原文:(31条消息) 使用SpringBoot一小时快速搭建一个简单后台管理(后端篇)_Bald programmer的博客-CSDN博客_springboot搭配什么ui框架使用

慢慢积累!

项目目录

bean–数据层 (存放数据类)

config–存放一些基本配置文件

controller–控制层(处理客户端的请求)

repository–相当于DAO层(数据访问层,和数据库打交道)

service–业务层的接口类(定义接口方法)

serviceImpl–业务层的实现类(处理逻辑)


设计篇

bean包下的新建类:

常用注解:
@Entity(name = "t_order")

说明:name为表明。如不加name属性,则会默认以小写类名去识别数据库中的表。

@Data

说明:注解会自动生成set、get、toString等方法

@GeneratedValue(strategy = GenerationType.IDENTITY)

说明:注解设置主键id为自增长,不然和数据库不一致会报错


repository数据访问层包下:

接口类

基础搭建时,这里只需要定义接口类就行,我们暂时还用不到自定义sql语句,所以其他不用写:

public interface UserRepository extends JpaRepository<User,Integer> {}

service业务接口包下:

接口类

常用5个接口:增删改查+模糊查询

public interface UserService {
    void insertUser(User user); //添加
    void deleteUser(Integer uid); //删除
    void updateUser(User user);// 修改用户
    List<User> selectAllUser(); //查询所有用户
    List<User> selectLike(String search); //模糊查询
}

serviceImpl(业务层实现)

在serviceImpl包下新建一个UserServiceImpl类,实现UserSeivice接口

实现类
@Service
public class UserServiceImpl implements UserService {
  @Autowired
  private UserRepository userRepository;
  
  @Override
  public void insertUser(User user) {
    userRepository.save(user);
  }
  
  @Override
  public void deleteUser(Integer uid) {
    userRepository/deleteById(uid);
  }
  
  @Override
  public void updateUser(User user) {
    userRepository.saveAndFlush(user);
  }
  
  @Override
  public List<User> selectAllUser() {
    return userRepository.findAll();
  }
  
  @Override
  public List<User> selectLike(String search) {
    List<User> list = new ArrayList<>();
    User user = new User();
    user.setUsername(search);
    user.setNickname(search);
    
    try {
      Integer uid = Integer.parseInt(search);
      Optional<User> optional = userRepository.findById(uid);
      if(!optional.isPresent()) {
        list = selectVague(user);
      } else {
        list.add(optional.get());
      }
    } catch (NumberFormatException e) {
      list = selectVague(user);
    }
    
    return list;
  }
  
  /** 模糊查询 */
  private List<User> selectVague(User user) {
    List<User> list = null;
    ExampleMatcher matcher = ExampleMatcher.matchinAny()
        .withMatcher("username",ExampleMatcher.GenericPropertyMatchers.contains())
        .withMatcher("nickname",ExampleMatcher.GenericPropertyMatchers.contains())
        .withIgnoreCase("uid")
        .withIgnoreCase("password");
        
    Example<User> example = Example.of(user,matcher);
    list = userRepository.findAll(example);
    return list;
  }
}

controller控制层:

注解
@RestController
@RequestMapping(value = "/user")
页面加载显示数据

IndexController(页面加载显示所有用户)

@RestController
public class IndexController {
    @Autowired
    private UserService userService;
    
    @RequestMapping(value = "/index")
    public ModelAndView toIndex() {
        ModelAndView view = new ModelAndView("index");
        view.addObject("user_list",userService.selectAllUser());
        return view;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值