需要工具
uibot5.6
jdk1.7
infromix驱动4.10.10.0
fastjson1.2.24
备注:将infromix驱动和fastjson存放到\jdk1.7.0_80\jre\lib\ext
插件开发
public class Database{
static PreparedStatement ps = null;
static Connection conn = null;
static ResultSet resultSet = null;
public void getConnection() throws Exception {
String url = "jdbc:informix-sqli://ip:port/数据库:informixserver=实例;NEWLOACLE=zh_cn;NEWCODESET=GBK,8859-1,819,Big5;IFX_TRIMTRAILINGSPACES=1;IFX_USE_STRENC=true";
Class.forName("com.informix.jdbc.IfxDriver");
conn = DriverManager.getConnection(url,"账号","密码");
}
public String query(String sql, String params) {
try {
ps = conn.prepareStatement(sql);
if(!params.equals("")&¶ms!=null) {
String[] args=params.split(",");
for (int i = 0; i < args.length; i++) {
ps.setObject(i + 1, args[i]);
}
}
resultSet = ps.executeQuery();
// 3.2 获得元数据(数据库的字段)
ResultSetMetaData metaData = resultSet.getMetaData();
// 3.2 获得元数据的个数
int columnCount = metaData.getColumnCount();
ArrayList<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
String jsonString2=null;
// 4.返回结果集
while (resultSet.next()) {
Map<String, Object> map = new HashMap<String, Object>();
for (int i = 0; i < columnCount; i++) {
Object value = resultSet.getObject(i + 1);
String key = metaData.getColumnLabel(i + 1);
map.put(key, value);
}
//将t对象加到集合
list.add(map);
str= JSON.toJSONString(list);
}
return str;
} catch (Exception e) {
close();
e.printStackTrace();
}
return null;
}
public int execute(String sql) {
try {
Statement statement = conn.createStatement();
int i = statement.executeUpdate(sql);
return i;
} catch (Exception e) {
close();
}
return -1;
}
public void close() {
resultSet.close();
ps.close();
conn.close();
}
}
备注:将class放入UiBot Community\5.6.0\extend\java中
具体使用
Database..getConnection()
Database.execute(select * from table into temp tt)
arr=Database.query(select * from tt)
data=JSON.Parse(arr)
Database.close()