后台基础知识笔记
原文:(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;
}
}