SELECT COUNT(company.email) FROM company WHERE company.email IS NOT NULL AND company.email <> ''
Этот запрос исключит строки, у которых нет электронной почты (либо NULL, либо просто пустое поле)
Вы имеете, как всегда, много опций, в зависимости от Ваших требований.
Для менее усовершенствованного/меньшего количества работы, особенно если у Вас нет доступа к предпочтениям затмения (например, сторона сервера OSGi):
Если бы доступность от файловой системы действительно важна, то я рассмотрел бы использование одного из методов выше для установки etc
каталог и позволенный Ваши пакеты генерируют файлы свойств по умолчанию в etc
каталог, если они не существуют на первом использовании. Это по существу прокручивает Ваше собственное предпочтительное хранилище, поэтому если у Вас действительно есть предпочтительный пакет доступа, можно быть более обеспеченным выполнением это. Этот довольно старый Пользователь Настройки FAQ может также быть услужливым.
Я действительно вспоминаю Гамму Erich (как в Банде Четыре, и технический руководитель JDT) интервью, в котором он говорит, что существует приблизительно семь различных предпочтительных механизмов, и он никогда не знал который использовать.
Обычно, мне нравится скрывать файлы конфигурации в каталоге "мусорного ведра", или где-нибудь не в корневом каталоге. Необходимо, вероятно, сохранить его в подкаталоге проекта, таким образом, Вы не загромождаете некоторое случайное местоположение в системе. Если необходимо получить дескриптор в Файл, можно просто сделать:
File configFile = new File("./bin/remoteDbConfig.ini");
Затем, если это - истинный ini файл, можно использовать Properties.load (), чтобы загрузить и использовать значения из ini файла.
Вы могли также использовать Предпочтения API, чтобы хранить данные, в которых Вы нуждаетесь для удаленного соединения.
Смотрите на плагин ресурсов - мог бы дать Вам, что Вы ищете:
Для получения расположения файла каталога Configuration работайте:
новый org.eclipse.core.runtime.preferences. ConfigurationScope () .getLocation () .toFile ();
Как уже отмечалось, API предпочтений - это то, на что стоит обратить внимание. Существует также API-интерфейс Secure Preferences, который подходит для хранения зашифрованных имен пользователей и паролей на диске.
Другой вариант - использовать службу OSGi org.eclipse.osgi.service.datalocation.Location. Это обеспечивает доступ к различным доступным местоположениям.
Третий вариант - определить системное свойство в config.ini, которое указывает на файл с вашей информацией о соединении, используя заполнители: (скрытый) (скрытый) - это заполнитель, который заменяется фактическим путем к каталогу конфигурации.