java Spring Boot jap框架demo
- new 一个Spring Initializr项目
-
修改配置文件后缀application.properties —>application.yml(个人比较喜欢)
-
搭建基本的框架
-
创建一个Controller类在com/example/demo/demo/api包名下
-
创建一个实体类在com/example/demo/demo/entity包名下
-
创建一个实现类接口及一个对应的实现
-
-
创建一个Dao类
-
目录框架
-
代码演示
-
User.java
package com.example.demo.demo.entity; import lombok.Getter; import lombok.Setter; import javax.persistence.Entity; import javax.persistence.Id; import java.io.Serializable; /** * *成员与数据库表一致 * */ @Setter @Getter @Entity //注解标识实体类 public class User implements Serializable { @Id //标识主键 private Integer id; private String name; private String paw; }
-
UserController.java
package com.example.demo.demo.api; import com.example.demo.demo.entity.User; import com.example.demo.demo.service.UserService; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; /** * @author LMtao * @since 2020/12/11 10:23 */ @RestController //标识Controller类 public class UserController { @Resource private UserService userService; /** * 查询全部 * * @return User列表 */ @GetMapping("/getListUser") public List<User> findAll() { return userService.findAll(); } /** * 插入数据 * * @return User */ @PostMapping("/save") public User save(@RequestBody User user) { System.out.println(user.toString()); return userService.save(user); } /** * 通过主键删除 * * @param id * @return 删除的信息 */ @GetMapping("/deleteById") public String deleteById(@RequestParam Integer id) { return userService.deleteById(id); } }
-
UserRepository.java(接口)
package com.example.demo.demo.dao; import com.example.demo.demo.entity.User; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; /** * @author LMtao * @since 2020/12/11 10:41 */ public interface UserRepository extends JpaRepository<User, Integer> { // 这里可以自己定义接口 // @Query(value="select * from user where name like %?1" ,nativeQuery=true) // public List<User> findByName(String name); }
-
UserService.java(接口)
package com.example.demo.demo.service; import com.example.demo.demo.entity.User; import java.util.List; import java.util.Optional; /** * @author LMtao * @since 2020/12/11 10:34 */ public interface UserService { /** * 查询全部 * * @return User列表 */ List<User> findAll(); /** * 插入数据 * * @return User */ User save(User user); /** * 通过主键删除 * * @param id * @return 删除的信息 */ String deleteById(Integer id); }
-
UserServiceImpl.java
package com.example.demo.demo.service.impl; import com.example.demo.demo.dao.UserRepository; import com.example.demo.demo.entity.User; import com.example.demo.demo.service.UserService; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; /** * @author LMtao * @since 2020/12/11 10:37 */ @Service public class UserServiceImpl implements UserService { @Resource private UserRepository userRepository; /** * 查询全部 * * @return User列表 */ @Override public List<User> findAll() { return userRepository.findAll(); } /** * 插入数据 * * @return User */ @Override public User save(User user) { return userRepository.save(user); } /** * 通过主键删除 * * @param id * @return 删除的信息 */ @Override public String deleteById(Integer id) { //首先判断需要删除的数据库中是否存在 Boolean isNotEmpty = !"Optional.empty".equals(userRepository.findById(id).toString())? true : false; if (isNotEmpty) { //删除 userRepository.deleteById(id); }else { return "没有要删除的数据"; } //再次查询数据库是否存在,不存在说明删除成功 Boolean isEmpty = "Optional.empty".equals(userRepository.findById(id).toString())? true : false; if (isEmpty) { return "删除成功"; } return "删除失败"; } }
-
对应的表结构
-- 创建表 CREATE TABLE `user` ( `id` INT NOT NULL, `name` VARCHAR ( 45 ) COLLATE utf8_bin NOT NULL, `paw` VARCHAR ( 45 ) COLLATE utf8_bin NOT NULL, PRIMARY KEY ( `id` ) ) ENGINE = INNODB DEFAULT CHARSET = utf8 COLLATE = utf8_bin;
-
-
测试结果
-
插入测试
-
查询测试
-
删除测试
-