大家好:
用kylin的JDBC查询,查询条件是date类型的,但是查询不出数据,以下是代码:
driver = (Driver)
Class.forName("org.apache.kylin.jdbc.Driver").newInstance();
Properties info = new Properties();
info.put("user", "ADMIN");
info.put("password", "KYLIN");
conn = driver.connect("jdbc:kylin://IP:7070/learn_kylin", info);
(此处IP代替了真实IP地址)
state = conn.prepareStatement("select * from KYLIN_SALES where
part_dt = ?");
SimpleDateFormat simpleTime = new SimpleDateFormat("yyyy-MM-dd");
java.util.Date passUtilDate = simpleTime.parse("2013-01-01");
java.sql.Date passSqlDate = new
java.sql.Date(passUtilDate.getTime());
System.out.println("passSqlDate-------->"+passSqlDate);
state.setDate(1, passSqlDate);
resultSet = state.executeQuery();
控制台日志为:
passSqlDate-------->2013-01-01
2016-06-23 14:19:52,591 DEBUG [main] jdbc.KylinClient:341 : Post body:
{"sql":"select * from KYLIN_SALES where part_dt =
?","project":"learn_kylin","acceptPartial":false,"params":[{"className":"java.lang.Integer","value":"15706"}]}
2016-06-23 14:19:52,592 DEBUG [main] wire.content:84 : <<
"{"userDetails":{"password":null,"username":"ADMIN","authorities":[{"authority":"ROLE_ADMIN"},{"authority":"ROLE_ANALYST"},{"authority":"ROLE_MODELER"}],"accountNonExpired":true,"accountNonLocked":true,"credentialsNonExpired":true,"enabled":true}}"
为什么kylin把传进的参数转为了"params":[{"className":"java.lang.Integer","value":"15706"}]???
谢谢!