将postgresql查询结果返回给一个函数

我现在正在使用expressjs,kotlin和PostgreSQL来处理Web API。 我以面向对象的方式组织我的项目。 我还为数据库创建了一个类,使所有经常被调用的查询成为一个函数。 例: fun addUser(firstName: String, lastName: String, password: String, classId: Int){ client.query(“INSERT INTO users(first_name, last_name, password, class_id) values($1, $2, $3, $4)”, arrayOf(firstName, lastName, password, classId)); } 这不起作用,但是当我试图发出一个SELECT查询并返回数据集的函数调用者,因为查询是异步的。 我已经尝试将结果赋值给数据库对象的一个​​属性,并在赋值后立即使用它,但是当我永久检查它的值时,似乎该值不能被赋值。 有谁知道我可以如何返回值的函数调用者? 预先感谢您的答案。

循环依赖(Voronoi Halfedge)

我知道,“循环依赖是一个糟糕的设计”,但我认为在这种情况下是有保证的。 在构建voronoi图时,单元划分为所谓的“半边”,这使您可以方便地遍历图。 无论如何,为了实例化一个半边,我必须指定半边的镜子,或者双胞胎。 这是任何语言的时髦,但在Kotlin更令人讨厌,因为我不得不使用val而不是val,如我所愿。 现在我正在做这个我不喜欢的funkiness, val mirrorEdge: HalfEdge get() = halfEdge!! private var halfEdge: HalfEdge? = null fun setMirror(halfEdge: HalfEdge) { this.halfEdge = halfEdge } //别处 newEdge.setMirror(newEdge2) newEdge2.setMirror(newEdge) 半角镜像不能为空,应该是不变的,但是我不知道如何在代码中传达这个意图。

Android NestedScrollView.smoothScrollBy()滚动太多

我有以下Kotlin代码: val scrollView = parent as? NestedScrollView scrollView?.let { it.smoothScrollTo(0, 500) } 这个代码第一次被调用的时候,滚动视图scrollY是0,并且它在y中成功的滚动了视图500。 但是,当这被称为第二次时,它将滚动另一个500(而不是在y中将其滚动到500,现在将是1000,以此类推,以便连续呼叫。 任何想法发生了什么? 当我深入研究NestedScrollView的代码(并最终进入OverScroller’s startScroll方法,最终被调用的时候,我可以看到在y轴上该调用的distance参数是0 – 因为它应该是除了第一个代码被调用)。 编辑:重要信息 – 我试图用ScrollView而不是一个NestedScrollView ,它按预期工作,但是因为我的ScrollView需要在一个SwipeRefreshLayout我需要它是一个NestedScrollView否则拉下总是刷新而不是滚动。

无法运行jar文件。 (错误:无法find或加载主类co.pissarra.Mainkt)

我正在尝试使用spark和kotlin创建一个小型web服务器。 但是我被卡在了应该能够创建项目的jar并从命令行运行的步骤中。 但是在运行java -jar pissarra-core-all-1.0-SNAPSHOT.jar出现以下错误 Error: Could not find or load main class co.pissarra.Mainkt 我尝试使用intellij想法的工件创建没有成功,并转移到使用build.gradle创建jar。 以下是相同的代码 task fatJar(type: Jar) { manifest { attributes ‘Implementation-Version’: version, ‘Main-Class’: ‘co.pissarra.Mainkt’ } baseName = project.name + ‘-all’ from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } with jar } 在运行./gradlew clean之后./gradlew fatJar ,我可以在build/libs/目录下创建jar文件。 这个jar也给出了同样的错误。 在提取jar文件的时候,我可以看到目录结构co/pissarra/里面有Mainkt.class文件。 它也有META-INF目录和MANIFEST.MF文件,其内容如下 Manifest-Version: […]

如何用Java按媒体密钥?

或者我如何发送相同的命令? 我希望我的应用能够播放/暂停/等。 当前正在播放的媒体在桌面环境 (Windows / macOS / Linux)中,但通过机器人可以按的键看,这些不在那里。 我简单地看了一下jintellitype ,但这似乎并不是我想要的(关于运行Apache服务器的一些事情?) 有没有办法按这些媒体密钥或发送类似的命令操作系统使用Java *? 这可以是Java SE(AWT / Swing / FX等)或其他免费库中的任何东西。 *我正在使用Kotlin,以防万一

多项目构建中的Gradle – 路径

我有一个多项目gradle项目,具有以下目录结构: + project_root + module1 + src build.gradle + module2 + src build.gradle + web .. build.gradle settings.gradle 在我指定的其他事物中的module1/build.gradle中: compileKotlin2Js.kotlinOptions { outputFile = “web/script.js” } 这是一个特殊的Kotlin JS设置,指定编译的JS文件的输出文件路径。 现在我的问题是,当我建立整个项目( project_root/build.gradle )文件结束在正确的目录( project_root/web ),但是当我不小心运行建立在模块单独的文件被保存在模块目录( project_root/module1/web )。 我如何修复我的构建脚本中的路径,所以文件输出将保存在完全相同的目录,无论我运行哪个构建脚本(没有指定完整路径,我想要一个相对路径)?

Android体系结构组件:如何观察数据库中的单个更改

我有几个问题,请看下面的问题: 守则 。 DAO @Dao public interface PostDao { @Query(“SELECT * FROM posts ORDER by time DESC”) LiveData<List> getAll(); @Query(“SELECT * FROM posts WHERE id = :id”) LiveData<List> getPost(String id); @Insert(onConflict = OnConflictStrategy.REPLACE) @NonNull void insert(StoryPost… posts); @Delete void delete(StoryPost post); @Update void update(StoryPost post); } D b @Database(entities = {StoryPost.class}, version = 5) @TypeConverters(Conveter.class) […]

防止回滚 – Spring Data,JUnit和Neo4J

我有spring的数据Neo4j连接起来,很好地工作。 我建立了几个unit testing,并在测试类上使用@Transactional注释。 测试运行,但他们写的数据总是回滚。 在日志中我可以看到: ] onodrivers.http.request.HttpRequest … request: {“statements”:[{“statement”:”UNWIND {rows} as row MATCH … 但是我想压制这个,我尝试过使用(在Kotlin中): @Test @Commit fun myDbTest() {…} 和 @Test @Rollback(false) fun myDbTest() {…} 但是注释被忽略? 我似乎有大多数相反的问题,在那里需要回滚,但它不工作:)在我的情况下,回滚完美的作品,我想关闭它。

是否有可能为IntelliJ的Edu插件创建自己的内容?

我最近下载了Kotlin Koans,并注意到它们是在一个名为Edu的JetBrains插件中编写/运行的。 我想知道是否有人知道是否有可能为这个插件创建自己的内容? 我认为这将有助于我们的编程实践,为新员工定位,为我们使用的新框架创建一些小课程,但最重要的是,我认为这在面试的技术部分非常有用,实际上让我们的受访者编写代码。 道歉,如果这是一个脱离主题的问题,或答案是问JetBrains。 只是想我会先问社区。

如何在Enum常量中实现抽象函数

我想要实现的是一个简单的模式,我正在使用Java,并应根据文档在Kotlin中可行。 我只是想用一些实现相同抽象函数的常量定义来声明一个枚举类。 我的问题是,我无法设法让我的代码编译。 我总是得到相同的错误: modifier abstract not allowed here 这里是代码: enum class Program { HOME { override fun readableName(context: Context): String { return context.getString(R.string.program_home) } }, WEEKEND { override fun readableName(context: Context): String { return context.getString(R.string.program_weekend) } }, SHOPPING { override fun readableName(context: Context): String { return context.getString(R.string.program_shopping) } }; abstract fun readableName(context: Context): String […]