Я разрабатываю автономное приложение на Java и MySql в качестве бэк-энда.Поскольку это приложение будет использоваться в профессиональных целях.Друзья У меня есть следующие вопросы в области кодирования.
Проблема 1: Поскольку мое приложение взаимодействует с базой данных по многим событиям на компонентах интерфейса, например, кнопкам, выпадающему списку и т. Д. При каждом событии либо данные выбираются из базы данных, либо сохраняются, либо изменяютсяв базу данных.поэтому в каждой точке я устанавливаю соединение с базой данных, выполняю запрос, снова закрываю соединение и делаю подготовленное состояние и набор результатов равным нулю.
Я хочу спросить экспертов, что это мой подход в соответствии с отрасльюстандарты или как начинающий программист?Пожалуйста, объясните, как мне выполнить код для соответствия отраслевым стандартам.
Проблема 2: В приведенном выше сценарии при подключении к базе данных требуются адрес хоста, имя пользователя и пароль.Мой вопрос: где мне хранить эту очень секретную и важную информацию?
A) Сначала я решил жестко закодировать их в исходном коде, чтобы никто не нашел и не понял.1. Но всякий раз, когда я хочу использовать это приложение для другой базы данных.Это каждый раз, когда мне нужно изменить вышеуказанную информацию в исходном коде и перекомпилировать исходный код и дать окончательный JAR для клиента.2. Один из моих друзей также сказал мне, что есть инструменты, которые преобразуют байт-код в исходный код, и любой может узнать эту информацию.Я не верю в такую возможность, но просто ради объяснения проблемы я упоминаю этот момент здесь.
B) Во-вторых, я решил сохранить этот адрес хоста, имя пользователя и пароль в файле свойств.1. Но файл свойств доступен для чтения, и любой может извлечь файл jar, а также найти файл свойств и прочитать из него такую ценную информацию.
Здесь я хочу спросить экспертов:и в соответствии с промышленными стандартами?б] Есть ли другое очень безопасное и гибкое решение для вышеуказанной проблемы?Пожалуйста, объясни мне это.Если другого решения не существует, то какое решение является безопасным и гибким в вышеуказанном случае.
Пожалуйста, помогите мне разобраться с проблемами, описанными выше.Спасибо.