Tag: JDBC

如何用一个复合types的数组来调用postgres函数

我正在寻找如何调用具有参数的复合types的postgres函数的建议。 问过类似的问题,但我find了一个满意的答案。 我有以下复合types: CREATE TYPE collect.event_record AS ( event_type integer , event_timestamp timestamp without time zone , event_data text , event_import_id integer ); 我有以下function: CREATE OR REPLACE FUNCTION collect.insert_events( fail_on_duplicates boolean, source_public_id text, event_records collect.event_record[]) RETURNS integer AS … 在postgres方面一切似乎工作正常。 现在我只需要从java / kotlin中调用它。 我们使用这个版本的postgres驱动程序: compile group: “org.postgresql”, name: “postgresql”, version: “9.4.1212” 在PreparedStatement有一个方法,似乎是我在找什么: void setArray (int […]

Kotlin / Java – 测试数据库数据提供的REST API

我试图测试一个连接到我的数据库,并试图配置一个模拟数据库。 我只是不知道如何。 如何使用任何测试框架来模拟数据库并测试我的方法(如下所示) getUserById ? 由于这是使用原始jdbc,我怎样才能覆盖这个getConnection()方法使用模拟数据库,而不是真正的? 还是不是这样的路? 我还没有测试过API的数据库连接/输出,所以我不知道从哪里开始。 这是我的jdbc类: import java.sql.Connection import java.sql.DriverManager import java.sql.ResultSet import java.sql.Statement import java.util.ArrayList import java.util.Properties import bye.domain.* class jdbcTrial { val url: String = “jdbc:postgresql://196.21.2.12:5432/events” //val props: Properties = Properties(); val DB_DRIVER = “org.postgresql.Driver”; // used for getting the comments fun getUserById(id: Int): User { val query = “select […]

通过kotlin android应用程序连接MySql

林寻找一些帮助,我试图连接kotlin android应用程序与MySql数据库。 首先我试了这个https://www.tutorialkart.com/kotlin/connect-to-mysql-database-from-kotlin-using-jdbc/其实它不适合我。 我不知道,如果我做一些错误或JDBC是错误的方式。 我即将试试这个: https : //www.simplifiedcoding.net/volley-with-kotlin/#也许有一些简单的方法,我只是不知道,找不到。 有什么建议么?

SQL Server Java驱动程序不能在类路径中工作

我已经写了一个简单的Java文件来处理一些与SQL服务器集成的SQL。 我下载了相应的驱动程序,并将JAR存储在正确的类路径中,但只有在直接运行文件时才起作用。 我已经尝试从另一个类的sql类中调用方法,我得到以下错误: java.lang.ClassNotFoundException:com.microsoft.sqlserver.jdbc.SQLServerDriver 我明白,这个问题是有据可查的,但它并没有解决我独特的问题,即它在文件中的作品,而不是外部。 另一个问题是程序关闭后重建我的程序忘记了JAR被添加为一个库,并要求我再次添加,这是不好的。 我已经尝试通过手动复制和粘贴到XML配置文件添加类路径,但这是一个hacky解决方案,我宁愿做正确的。 请让我知道我要去哪里错了。 <CLASSES> <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm/5.0.4/da08b8cce7bbf903602a25a3a163ae252435795/asm-5.0.4.jar!/" /> <root url="jar://$USER_HOME$/IdeaProjects/r3prototypingCFS/contracts/src/main/kotlin/com/r3corda/protocols/sqljdbc42.jar!/" /> </CLASSES> Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

逐渐填充InputStream并用SpringMVC返回

考虑我在数据库中有大量的csv字符串,我需要通过他的请求传递给客户端。 一个天真的方式来做到这一点: @RequestMapping(value = "/{user}/ejournal", method = RequestMethod.GET, produces = "text/csv") public ResponseEntity<ByteArrayResource> getEJournal(@PathVariable Long userId) { final byte[] documentBody = EJournal .findByUser(userId) .stream() .collect(Collectors.joining("\n")) .getBytes(); return new ResponseEntity( new ByteArrayResource(documentBody), HttpStatus.OK); } 从客户端直接(kotlin代码示例): val inputStream = eJournalService.getJournal(userId) inputStream.reader().forEachLine { line -> … } 但是我不得不把所有的数据加载到内存中,然后传递给流,显然效率不高。 所以我需要以某种方式缓冲它使用自定义阅读器分页读取数据和发送缓冲区到客户端。 我想实现我自己的InputStream但InputStream#read()返回int而不是String ,这有点复杂。 任何最佳实践来做到这一点? 我试图搜索,但只有例子传递一个图片使用已经在内存中的流,而不是缓冲分页后批次发送顺序数据库查询。 提前致谢。

Kotliquery不关闭postgresql连接

我正在使用kotliquery jdbc框架的Kotlin 刚刚遇到问题。 我正在使用远程PostgreSQL数据库。 经过一些调用数据库,我得到以下错误Failure: too many clients already 。 这是由于100个连接idle造成的。 我试图创建1点,我必须做配置。 这就是我所说的BaseDAO。 该类的相关代码如下所示: import com.zaxxer.hikari.HikariConfig import com.zaxxer.hikari.HikariDataSource import kotliquery.Session import kotliquery.sessionOf import javax.sql.DataSource class BaseDAO { companion object { var url: String = "jdbc:postgresql://server.local:5432/myDatabase" var user: String = "postgres" var pass: String = "postgres" val config: HikariConfig = HikariConfig() private fun dataSource(): DataSource { […]

从ResultSet生成列表

我不完全确定这是可能的,我绝对不知道要搜索什么或者如何简洁地解释它,但是这似乎是相当可怕的事情,如果可能的话,我不会感到惊讶。 我想用listOf()实例化一个列表,而不是为列表提供元素,提供一些代码来生成列表的元素。 例如,使用ResultSet :(这不是有效的代码) val list: List<Int> = listOf( while(resultSet.next()){ return resultSet.getInt(1) } ) 是这样的可能吗?

Kotlin数据库连接错误

线程“main”中的异常kotlin.KotlinNullPointerException在Kotlin.main(DB.kt:4) 任何人都可以解释我是什么,我应该怎么做来处理这个异常? object Kotlin { @JvmStatic fun main(args: Array<String>) { val conn: Connection = null!! val url = "jdbc:mysql://localhost:3306/" val dbName = "db-01" val driver = "com.mysql.jdbc.Driver" try { Class.forName(driver).newInstance() conn = DriverManager.getConnection("jdbc:mysql://localhost/student") println("Connected to the database") conn.close() println("Disconnected from database") } catch (e: Exception) { e.printStackTrace() } } }

是否适用于在Kotlin中编写JDBC驱动程序?

在编写DB-API接口和我们的数据库的基本SQLAlchemy方言之后,我被分配去选择Java,并编写一个JDBC驱动程序。 我收集它将是4级,与数据库等插座。 我知道Zero Java。 我打算在某个时候拿起Kotlin,所以我想知道在Kotlin中创建JDBC驱动程序是否可行。 例如,就我所知,Kotlin可以使用Java库。 不知道其他的方式 – 如果写得很好,任何Java应用程序能否使用Kotlin JDBC驱动程序? 在这种情况下,什么是“正确的”? 其他需要注意的事项? 任何反馈将不胜感激。 我也考虑过Jython,但我不太喜欢,因为我怀疑它不太合适,但是也不太确定。