mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
support monitor
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.alibaba.druid.bvt.support.monitor;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
@@ -16,31 +17,48 @@ public class MonitorDaoJdbcImplTest extends TestCase {
|
||||
public void testBuildSql() throws Exception {
|
||||
MonitorDaoJdbcImpl dao = new MonitorDaoJdbcImpl();
|
||||
|
||||
String sql = dao.buildInsertSql(new BeanInfo(JdbcSqlStatValue.class));
|
||||
{
|
||||
String sql = dao.buildInsertSql(new BeanInfo(JdbcSqlStatValue.class));
|
||||
|
||||
System.out.println(SQLUtils.format(sql, JdbcConstants.MYSQL));
|
||||
System.out.println(SQLUtils.format(sql, JdbcConstants.MYSQL));
|
||||
}
|
||||
{
|
||||
String sql = buildCreateSql(dao, new BeanInfo(JdbcSqlStatValue.class));
|
||||
System.out.println(SQLUtils.format(sql, JdbcConstants.MYSQL));
|
||||
}
|
||||
}
|
||||
|
||||
public String buildInsertSql(MonitorDaoJdbcImpl dao, BeanInfo beanInfo) {
|
||||
|
||||
public String buildCreateSql(MonitorDaoJdbcImpl dao, BeanInfo beanInfo) {
|
||||
StringBuilder buf = new StringBuilder();
|
||||
|
||||
buf.append("CREATE TABLE ") //
|
||||
.append(dao.getTableName(beanInfo));
|
||||
|
||||
buf.append(" (domain, app, cluster, host, pid, collectTime");
|
||||
buf.append("( id bigint(20) NOT NULL");
|
||||
buf.append(", domain varchar(45)");
|
||||
buf.append(", app varchar(45)");
|
||||
buf.append(", cluster varchar(45)");
|
||||
buf.append(", host varchar(128)");
|
||||
buf.append(", pid int(10)");
|
||||
buf.append(", collectTime datetime NOT NULL");
|
||||
List<FieldInfo> fields = beanInfo.getFields();
|
||||
for (int i = 0; i < fields.size(); ++i) {
|
||||
FieldInfo field = fields.get(i);
|
||||
buf.append(", ");
|
||||
buf.append(field.getColumnName());
|
||||
if (field.getFieldType().equals(int.class) || field.getFieldType().equals(Integer.class)) {
|
||||
buf.append(" int(10)");
|
||||
} else if (field.getFieldType().equals(long.class) || field.getFieldType().equals(Long.class)) {
|
||||
buf.append(" bigint(20)");
|
||||
} else if (field.getFieldType().equals(String.class)) {
|
||||
buf.append(" varchar(256)");
|
||||
} else if (field.getFieldType().equals(Date.class)) {
|
||||
buf.append(" datetime");
|
||||
}
|
||||
}
|
||||
buf.append(")\nVALUES (?, ?, ?, ?, ?, ?");
|
||||
for (int i = 0; i < fields.size(); ++i) {
|
||||
buf.append(", ?");
|
||||
}
|
||||
|
||||
buf.append(", PRIMARY KEY(id)");
|
||||
buf.append(")");
|
||||
|
||||
|
||||
return buf.toString();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user