public SimpleDatabaseMap(String table, String database, Class<K> keyClazz, Class<V> valueClazz, DatabaseType type) {
this.handler = new SQLDatabaseHandler(table, database);
this.keyColumnName = keyClazz.getSimpleName().toLowerCase();
this.valueClazz = valueClazz;
List<String> columnNames = new ArrayList<>();
if (type == DatabaseType.MYSQL) {
columnNames.add(SQLDatabaseHandler.createMySQLColumn(keyColumnName, MySQLDataType.VARCHAR, 767, SQLConstraints.PRIMARY_KEY));
for (ReflectionHelper.SaveField valueFields : ReflectionHelper.findFieldsNotAnnotatedWith(Expose.class, valueClazz)) {
columnNames.add(SQLDatabaseHandler.createMySQLColumn(
valueFields.field().getName(), MySQLDataType.TEXT, 5000));
fieldNames.add(valueFields.field().getName());
}
} else if (type == DatabaseType.SQLITE) {
columnNames.add(SQLDatabaseHandler.createSQLiteColumn(keyColumnName, SQLiteDataType.TEXT, SQLConstraints.PRIMARY_KEY));
for (ReflectionHelper.SaveField sf : ReflectionHelper.findFieldsNotAnnotatedWith(Expose.class, valueClazz)) {
columnNames.add(SQLDatabaseHandler.createSQLiteColumn(
sf.field().getName(), SQLiteDataType.TEXT));
fieldNames.add(sf.field().getName());
}
}
handler.create(columnNames.toArray(new String[columnNames.size()]));
}
SimpleDatabaseMap.java 文件源码
java
阅读 26
收藏 0
点赞 0
评论 0
项目:AlphaLibary
作者:
评论列表
文章目录