Database 可查询的——它是否可用于MySQL以外的数据库?
我正在学习Querules并从以下代码开始:Database 可查询的——它是否可用于MySQL以外的数据库?,database,scala,querulous,Database,Scala,Querulous,我正在学习Querules并从以下代码开始: import com.twitter.querulous.evaluator.QueryEvaluator class Querulous { def test { val queryEvaluator = QueryEvaluator("org.h2.Driver", "jdbc:h2:tcp://localhost/~/test", "sa", "") val names = queryEvaluator.select("s
import com.twitter.querulous.evaluator.QueryEvaluator
class Querulous {
def test {
val queryEvaluator = QueryEvaluator("org.h2.Driver", "jdbc:h2:tcp://localhost/~/test", "sa", "")
val names = queryEvaluator.select("select (name) from mytable where id in (?)", List(1, 2, 3)) {
row =>
row.getString("name")
}
println(names)
}
}
执行结果如下:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:
通信链路故障
成功发送到的最后一个数据包
服务器已在0毫秒前关闭。这个
驱动程序尚未收到任何数据包
从服务器。
在sun.reflect.nativeConstructor附件mpl.newInstance0(本机
(方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:513)
在com.mysql.jdbc.Util.handleNewInstance(Util.java:409)上
在com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1118)上
在com.mysql.jdbc.MysqlIO.(MysqlIO.java:343)
在com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2308)
在com.mysql.jdbc.ConnectionImpl.createNewIO上(ConnectionImpl.java:2122)
在com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:774)
在com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:49)
在sun.reflect.nativeConstructor附件mpl.newInstance0(本机
(方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:513)
位于com.mysql.jdbc.Util.HandleneInstance(Util.java:409)
位于com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:375)
位于com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:289)
位于java.sql.DriverManager.getConnection(DriverManager.java:582)
位于java.sql.DriverManager.getConnection(DriverManager.java:185)
位于org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:75)
位于org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
位于org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1148)
位于org.apache.commons.dbcp.poolgDataSource.getConnection(poolgDataSource.java:106)
在com.twitter.queryous.database.ApachePoolingDatabase.open(ApachePoolingDatabase.scala:93)
位于com.twitter.queryous.database.database$class.withConnection(database.scala:33)
在com.twitter.queryous.database.ApachePoolingDatabase.withConnection上(ApachePoolingDatabase.scala:45)
在com.twitter.queryous.evaluator.StandardQueryEvaluator.withTransaction(StandardQueryEvaluator.scala:66)上
在com.twitter.queryous.evaluator.StandardQueryEvaluator.select上(StandardQueryEvaluator.scala:23)
在com.twitter.queryouous.evaluator.QueryEvaluator$class.select上(QueryEvaluator.scala:88)
在com.twitter.queryous.evaluator.StandardQueryEvaluator.select上(StandardQueryEvaluator.scala:19)
位于org.database.queryous.test(queryous.scala:10)
位于org.database.Main$.Main(Main.scala:4)
位于org.database.Main.Main(Main.scala)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机
(方法)
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中
位于java.lang.reflect.Method.invoke(Method.java:597)
在sbt.Run.run0(Run.scala:60)
在sbt.Run.execute$1(Run.scala:47)
在sbt.Run$$anonfun$Run$2.apply(Run.scala:50)
在sbt.Run$$anonfun$Run$2.apply(Run.scala:50)
在sbt.TrapExit$.executeMain$1(TrapExit.scala:33)
在sbt.TrapExit$$anon$1.run(TrapExit.scala:42)
原因:
java.net.UnknownHostException:
org.h2.Driver
在java.net.Inet6AddressImpl.lookupAllHostAddr(本机
(方法)
位于java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:850)
位于java.net.InetAddress.getAddressFromNameService(InetAddress.java:1201)
位于java.net.InetAddress.getAllByName0(InetAddress.java:1154)
位于java.net.InetAddress.getAllByName(InetAddress.java:1084)
位于java.net.InetAddress.getAllByName(InetAddress.java:1020)
位于com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:275)
在com.mysql.jdbc.MysqlIO上(MysqlIO.java:292)
位于com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2308)
位于com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2122)
位于com.mysql.jdbc.ConnectionImpl(ConnectionImpl.java:774)
位于com.mysql.jdbc.JDBC4Connection(JDBC4Connection.java:49)
在sun.reflect.nativeConstructor附件mpl.newInstance0(本机
(方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:513)
位于com.mysql.jdbc.Util.HandleneInstance(Util.java:409)
位于com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:375)
位于com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:289)
位于java.sql.DriverManager.getConnection(DriverManager.java:582)
位于java.sql.DriverManager.getConnection(DriverManager.java:185)
位于org.apache.commons.dbcp.DriverManager连接工厂.createConnection(DriverManager连接工厂.java: