小编Ale*_*oig的帖子

SpringBoot 3(数据)关键字 isTrue 不起作用

将我的应用程序从 SpringBoot 2 升级到 SpringBoot 3 后,我看到了一些奇怪的情况。

该应用程序依赖于现有数据库(MySQL),但该数据库没有采用良好的实践。其中之一用于Y N存储在 VARCHAR 中的布尔值。

为了使 Java 方面的事情变得更容易,我创建了一个如下所示的转换器:

@Converter
public class BooleanToStringConverter implements AttributeConverter<Boolean, String> {

    @Override
    public String convertToDatabaseColumn(Boolean attribute) {
        if (attribute == null) {
            return null;
        }
        return attribute ? "Y" : "N";
    }

    @Override
    public Boolean convertToEntityAttribute(String dbData) {
        if (dbData == null) {
            return null;
        }
        return dbData.equals("Y");
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的豆子上我用它作为:

@Column(name = "DELIVERED")
@Convert(converter = BooleanToStringConverter.class)
private Boolean delivered;
Run Code Online (Sandbox Code Playgroud)

到目前为止,一切都很好。

如果我创建一个存储库来查询所有交付的实体,我会在 SpringBoot 2 中编写如下内容:

List<MyClass> findAllByDeliveredIsTrue(); …
Run Code Online (Sandbox Code Playgroud)

java mysql spring-data-jpa spring-boot

5
推荐指数
1
解决办法
249
查看次数

Ionic 4路由到带有标签的视图会触发整页重新加载

我正在使用Angular 7开发Ionic 4.0.0 App,并且尝试将侧面菜单与辅助页面上的选项卡结合在一起。让我们看看它是如何工作的:

  • 左侧窗格的左侧菜单,然后右侧的侧面菜单中有一个带有列表的简单视图。
  • 单击列表上的项目时,它将导航到一个页面,其中有4个选项卡以显示与该项目相关的一些数据。

我面临两个主要问题:

  • 向后拖动时,它不会执行任何操作。我将菜单移至creen的右侧,以尝试避免事件冲突。
  • 单击初始列表中的项目并使用选项卡路由到第二页时,将触发整页重新加载。这实际上是最烦人的部分。恐怕我在角度路由器上做错了什么。

基本上,在主路由模块上,我检查身份验证,如果用户未通过身份验证,则显示登录页面,并保护子路由。为了简单起见,我省略了此代码。

然后,我将/app/AppRoutingModule加载所有受保护的路由,看起来像这样(省略一些行):

const routes: Routes = [
    {...},
    {
        path: 'communities',
        loadChildren: './communities/communities-routing.module#CommunitiesRoutingModule',
    },
    {...}
];

@NgModule({
    imports: [RouterModule.forChild(routes)],
    exports: [RouterModule]
})
export class AppRoutingModule {
}

Run Code Online (Sandbox Code Playgroud)

到达路径/ app / communities时,子路由模块CommunitiesRoutingModule被加载,看起来像这样:

const routes: Routes = [
    {path: '', loadChildren: './communities.module#CommunitiesPageModule'}, // Page with a list of all communities.
    {path: 'view/:id', loadChildren: './view-community/tabs/tabs.module#TabsPageModule'}, //Loads the tabs page module
    {...} //Loads other sub-tabs.
];

@NgModule({
    imports: [RouterModule.forChild(routes)],
    exports: [RouterModule] …
Run Code Online (Sandbox Code Playgroud)

typescript angular-routing angular ionic4

1
推荐指数
1
解决办法
1180
查看次数