я использовал 2 таблица.Связать имя метода с mysql where clause?
table1: Employees
стол У меня есть две колонки идентификатор, employees_id (Тип: Long)
table2: Salary
стол я две колонки идентификатор, employees_encrpted_id (Тип: String)
Примечание: 1. Общее поле для двух таблиц: employees_id в Employees
таблице (Здесь мы храним в сотрудниках ид) и employees_encrpted_id в Salary
таблице (мы используем метод шифрования для шифрования сотрудников идентификатор затем сохранить его)
2. Я расшифрован метод (имя decrypt
). Этот метод можно связать с запросом mysql. Я попытался как этот
"выберите * от сотрудников как эми, зарплата, как S, где emp.employees_id = CAST (" + decrypt
("s.employees_encrpted_id") + "AS UNSIGNED)"
но бросает error "[MySQLSyntaxErrorException: у вас возникла ошибка в синтаксисе SQL, проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования вблизи ')' в строке 1]«
Предполагая, что вы этого не сделаете, было бы намного проще (просто) зашифровать (вероятно, включая идентификатор в кодовую фразу, чтобы не допустить, чтобы две одинаковые зарплаты выглядели одинаково). И на самом деле это намного безопаснее, потому что часто можно заключить из другой информации, какой идентификатор он может (или не может), например.если таблица содержит историю, дата первой записи соответствует дате присоединения к фирме, рекламные акции соответствуют рейсам, количество записей, вероятно, относится к периоду занятости в фирме, самая высокая зарплата, вероятно, принадлежит боссу (или дБА), ... – Solarflare