五、一步步做一个查询
1.准备一个数据源
DruidDataSource dataSource = null;
try {
String druidpath = TEnv.getSystemPath("conf" + File.separator + "datasource.properties");
Properties druidProperites = TProperties.getProperties(new File(druidpath));
dataSource = TObject.cast(DruidDataSourceFactory.createDataSource(druidProperites));
dataSource.init();
Logger.info("Database connection pool init finished");
} catch (Exception e) {
Logger.error(e);
}
上面我们用阿里的Druid框架创建了一个数据源.
2.New 一个 JdbcOperator 对象
JdbcOperate jOperate = new JdbcOperate(dataSource);
现在我们就拥有了一个JdbcOperator对象了。
3.准备SQL
String sql = "select * from sc_script where PackagePath=::packagePath and version=::version";
这个 SQL 有两个参数:PackagePath
和 version
4.准备数据
HashMap<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("packagePath", "org.hocate.test");
到这里很多同学就奇怪了,明明有两个参数为什么只准备了一个packagePath
参数呢?答案: Voovan ORM特性:自动移除无对应参数的 SQL 查询条件
所以在实际执行 sql 的时候 and version=::version
条件会被自动过滤掉.
5.执行查询并活的结果
List<Map<String, Object>> manyMapsMapParam = jOperate.queryMapList(sql, paramMap);
Logger.simple("Map参数 => 返回List<Map>: " + manyMapsMapParam);