2022年5月

新建的Spring Boot项目中,一般都会引用spring-boot-starter或者spring-boot-starter-web,而这两个起步依赖中都已经包含了对于spring-boot-starter-jdbc或spring-boot-starter-data-jpa的依赖。 当我们使用了这两个依赖的时候,框架会自动默认分别注入DataSourceTransactionManager或JpaTransactionManager。 所以我们不需要任何额外配置就可以用@Transactional注解进行事务的使用。

- 阅读剩余部分 -

BorderPane布局

整个编辑器界面对应的fxml文件如下

<?xml version="1.0" encoding="UTF-8"?>

<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>

<BorderPane xmlns="http://javafx.com/javafx"

        xmlns:fx="http://javafx.com/fxml"
        fx:controller="com.sunfulv.ViewController"
        fx:id="borderPane"
        prefHeight="400.0" prefWidth="600.0">
<top>
    <MenuBar>
        <Menu id="fileMenu" text="菜单">
            <MenuItem fx:id="openMenu" text="打开文件" onAction="#openFileAction"></MenuItem>
            <MenuItem id="createMenu" text="新建文件" onAction="#createFileAction"></MenuItem>
        </Menu>
        <Menu id="editMenu" text="编辑">
            <MenuItem fx:id="copyMenu" text="复制" onAction="#copyMenuAction"></MenuItem>
            <MenuItem id="cutMenu" text="剪切"></MenuItem>
            <MenuItem id="pasteMenu" text="粘贴"></MenuItem>
            <MenuItem id="undo" text="撤销"></MenuItem>
            <MenuItem id="resumeMenu" text="恢复"></MenuItem>
        </Menu>
        <Menu id="saveMenu" text="保存" >
            <MenuItem id="save" text="保存文件" onAction="#saveFileAction"></MenuItem>
            <MenuItem id="saveAs" text="另存为" onAction="#saveAsFileAction"></MenuItem>
        </Menu>
        <Menu id="fontMenu" text="字体大小">
            <MenuItem id="smallFont" text="小字" onAction="#smallFontAction"></MenuItem>
            <MenuItem id="middleFont" text="中号字体" onAction="#middleFontAction"></MenuItem>
            <MenuItem id="largeFont" text="大号字体" onAction="#lagreFontAction"></MenuItem>
        </Menu>
    </MenuBar>
</top>
<center>
    <TextArea fx:id="textArea" text="Hello World">
    </TextArea>
</center>
<bottom >
    <AnchorPane snapToPixel="true"></AnchorPane>
</bottom>
<left>
    <
</left>

</BorderPane>

https://zhizhi.pcwanli.com/front/article/12911.html

什么是事务

事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。事务可大可小,在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序。

技术背景

RuoYi-vue 前后端分离

举个例子:

订单表和订单详情表进行插入操作。

出现的问题

ps:如何查看失败的原因: 日志

插入订单表成功 但是插入订单详情表失败

解决方案:

做法非常简单,我们只需要在方法或类添加@Transactional注解即可,下面方法位于OrderService.

@Transactional
public int insertOrder(Order order)
{
    // 新增订单信息
    int rows = orderMapper.insertOrder(order);
    
    // 新增用户与订单详情
    insertOrderItem(order);
    return rows;
}

参考

https://blog.csdn.net/u012102536/article/details/123485318
http://doc.ruoyi.vip/ruoyi/document/htsc.html#%E4%BA%8B%E5%8A%A1%E7%AE%A1%E7%90%86