SpringBoot简单增删改查

SpringBoot简单增删改查crud

学习Spring Boot,逐渐使用Spring Boot开始对spring mvc项目进行提升,Spring Boot相较于spring mvc的代码亮得到了优化,代码更加精简,需要进行的配置更加简洁. 先从创建数据库开始,一共三个表,商品表,用户表,消费记录表(此处应理解为订单表更合适,下面都用订单表来对此进行描述)
数据库表
商品表中模拟存在三种商品,假定数量商品表
用户表模拟存在两个用户用户表
订单表模拟创建假数据,订单表属性有价格,数量,总价,下单时间,用户id,商品id;此处的价格存在不妥,应该在商品表中定义完成,但是只是为了实现简单的增删改查,影响不大,但为了更加符合实际,应在商品表中定义完成
订单表
下面创建idea项目:
c
项目名取自己合适的即可;
在这里插入图片描述
SpringBoot项目可以在创建项目是选择需要加载的jar包,这里我们选择:spring-web,Mybatis 和 Mysql的dependencies
在这里插入图片描述
创建完成项目之后,便可以像之前类似,按照底层,服务层,控制层完成接口和实现类的创建(此处可以一步一步创建需要的类和接口,此处的图是我已经完成整个项目后截取的,仅供参照)
分层
对应三张表,三个对应的底层接口,三个对应的service层接口和相应的实现类,三个控制器;(可以一点点的进行推进,如:一开始在尝试阶段,先实验展示订单记录,那么我们只需要sale对应的接口和方法)

当我们需要对SpringBoot项目进行进一步的配置,我们可以在resources资源目录下的application.properties文件中进行配置,在此处,我采用的是application.yml的配置文件形式进行的配置,.properties和.yml配置文件的区别可见此处
配置
添加mybatis配置实现springboot项目打印执行的sql语句,方便后续检查
打印sql语句
为了实现第一个功能(显示订单信息),那我们就要从数据库中查询到我们想要的数据,@mapper的作用是可以给mapper接口自动生成一个实现类,让spring对mapper接口的bean进行管理,并且可以省略去写复杂的xml文件
@Mapper详解
此处并没有创建实体类,list中的数据使用map形式,以键值对的形式获得

@Mapper
public interface SaleMapper {
    @Select("select s.*,p.productname,u.username from sale s join product p on s.productid=p.id join users u on s.userid=u.id order by s.id desc")
    public List<Map> getAll();
    }

直接使用@select 完善sql语句,这里我们做的是个多表查询,根据订单表中的商品编号和用户编号可以实现查询商品的名称和用户的名称,
接口:

public interface SaleService {
    public List<Map> getAll();
    }

实现类:(@Transactional注解能在抛出RuntimeException或者Error时触发事务的回滚)

@Service
@Transactional
public class SaleServiceImpl implements SaleService {

    @Resource
    private SaleMapper saleMapper;

 
    @Override
    public List<Map> getAll() {
        return saleMapper.getAll();
    }
}

控制层:

@RestController
@RequestMapping("/sale")
public class SaleController {
    @Resource
    private SaleServiceImpl saleService;


    @RequestMapping("/getAll")
    public List<Map> getAll(){
        return saleService.getAll();
    }
    }

这些都是很简单的实现,接下来是编写显示页面,此处可以先暂缓,可以去测试类中测试底层查询功能是否能正常实现
测试查询功能
底层能实现,后续就是写页面和js

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的基于Spring Boot的增删改查代码示例: 1. 创建实体类 ```java @Entity @Table(name = "users") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private String email; // getters and setters } ``` 2. 创建数据访问接口 ```java @Repository public interface UserRepository extends JpaRepository<User, Long> { } ``` 3. 创建服务类 ```java @Service public class UserService { @Autowired private UserRepository userRepository; public List<User> getAllUsers() { return userRepository.findAll(); } public User getUserById(Long id) { return userRepository.findById(id).orElse(null); } public User addUser(User user) { return userRepository.save(user); } public User updateUser(Long id, User user) { User existingUser = userRepository.findById(id).orElse(null); if (existingUser != null) { existingUser.setName(user.getName()); existingUser.setEmail(user.getEmail()); userRepository.save(existingUser); } return existingUser; } public void deleteUser(Long id) { userRepository.deleteById(id); } } ``` 4. 创建控制器类 ```java @RestController @RequestMapping("/users") public class UserController { @Autowired private UserService userService; @GetMapping("") public List<User> getAllUsers() { return userService.getAllUsers(); } @GetMapping("/{id}") public User getUserById(@PathVariable Long id) { return userService.getUserById(id); } @PostMapping("") public User addUser(@RequestBody User user) { return userService.addUser(user); } @PutMapping("/{id}") public User updateUser(@PathVariable Long id, @RequestBody User user) { return userService.updateUser(id, user); } @DeleteMapping("/{id}") public void deleteUser(@PathVariable Long id) { userService.deleteUser(id); } } ``` 以上代码实现了一个简单增删改查功能,你可以在控制器类的接口上添加相应的注解来限制访问权限。同时,你可以添加异常处理程序来处理异常情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值