SpringBoot之数据库操作JPA之事务

前面已经讲解了JPA操作数据库的开发使用包括自定义数据库操作的相关设计,具体的链接看下面:

SpringBoot之数据库操作JPA

现在我们讲解开发中使用最广泛的事务:

原理很简单就是防止出现操作异常情况下,对数据库的数据造成影响(一般情况,是针对插入和更新)。

SpringBoot提供了非常简单的注解方式帮我们解决事务问题:

我们测试时候采用password的字段长度为1,这样我们在模拟测试的时候只需要添加的字段长度大于就可以了。

//配置JPA映射关系
@Entity   //告诉JPA这是一个实体类
@Table(name = "Table_user")   //指定和具体哪个表对应 ,也可以默认@Table就是首字母小写
public class User {

    @Id
    private String name;
    @Column(name = "password" ,length = 1)
    private String password;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

上面是针对实体类的创建,下面是针对我们的Controller类进行相关的操作(使用具体就是    @Transactional注解)。

当出现异常的时候我们开发中需要添加异常处理机制,这里就不做具体说明了。

    //<editor-fold desc="2. JPA方式进行更新或者插入数据添加了事务的处理">
    @Transactional
    @GetMapping("/user")
    public User insertEmp(User user) {
        User user1 = userRepository.save(user);//可以更新也可以插入,会自动进行判断。

        User user2 = new User();
        user2.setName("Tom");
        user2.setPassword("1");
        User user3 = new User();
        user3.setName("Tom2");
        user3.setPassword("123");
        userRepository.save(user2);
        userRepository.save(user3);
        return user1;
    }
    //</editor-fold>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值