{"id":286748,"date":"2017-05-23T15:00:03","date_gmt":"2017-05-23T11:00:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=286748"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=286748","title":{"rendered":"IQL \u2014 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 SQL-\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0434\u043b\u044f Java"},"content":{"rendered":"<p>\u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u044f \u043f\u0440\u0438\u043d\u044f\u043b\u0441\u044f \u0437\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043e\u0434\u043d\u043e\u0433\u043e \u043a\u0440\u0443\u043f\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430 PHP, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u043e\u043b\u044c\u043a\u043e \u0438 \u0434\u0435\u043b\u0430\u043b \u0447\u0442\u043e \u043f\u0438\u0441\u0430\u043b, \u0447\u0438\u0442\u0430\u043b \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u043b \u0442\u043e\u043d\u043d\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 SQL. \u0421\u0440\u0430\u0437\u0443 \u0436\u0435 \u0431\u044b\u043b\u043e \u0440\u0435\u0448\u0435\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 SQL-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u043e\u0433\u0434\u0430 \u0441\u0438\u043b\u044c\u043d\u043e \u043e\u0431\u043b\u0435\u0433\u0447\u0438\u043b \u043c\u043d\u0435 \u0436\u0438\u0437\u043d\u044c \u0438 \u043f\u043e \u0441\u0435\u0439 \u0434\u0435\u043d\u044c \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u043c\u043d\u0435 \u0438 \u043c\u043e\u0438 \u043a\u043e\u043b\u043b\u0435\u0433\u0430\u043c \u0432 \u0435\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0435. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432\u044b\u043b\u043e\u0436\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u0432 \u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u044f \u043d\u0435 \u043c\u043e\u0433\u0443, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u0440\u043e\u0435\u043a\u0442 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u043d\u0435 \u043c\u043d\u0435, \u0434\u0430 \u0438 \u0441\u0438\u043b\u044c\u043d\u043e \u0437\u0430\u0432\u044f\u0437\u0430\u043d \u044d\u0442\u043e\u0442 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u043d\u0430 \u043d\u0430\u0448 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a.<\/p>\n<p>  \u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u0447\u0435\u043c \u044f \u0440\u0435\u0448\u0438\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0435\u0433\u043e \u0430\u043d\u0430\u043b\u043e\u0433 \u043d\u0430 Java, \u0432 \u043d\u0430\u0434\u0435\u0436\u0434\u0435, \u0447\u0442\u043e \u043e\u043d \u0441\u043e\u0441\u043b\u0443\u0436\u0438\u0442 \u043a\u043e\u043c\u0443-\u0442\u043e \u0434\u043e\u0431\u0440\u0443\u044e \u0441\u043b\u0443\u0436\u0431\u0443, \u0442\u0430\u043a \u043a\u0430\u043a \u043d\u0435 \u0432\u0441\u0435\u043c \u043d\u0443\u0436\u0435\u043d ORM, \u0430 JOOQ \u043a\u0430\u0436\u0435\u0442\u0441\u044f \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u043c<br \/>  <a name=\"habracut\"><\/a><br \/>  <b>\u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430<\/b><\/p>\n<ul>\n<li>\u0418\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043e\u0448\u0438\u0431\u043e\u043a \u043f\u0440\u0438 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430<\/li>\n<li>\u0423\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u0435 \u043c\u043d\u043e\u0433\u043e\u0441\u0442\u0440\u043e\u0447\u043d\u043e\u0439 \u0432\u0441\u0442\u0430\u0432\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u2014 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u043a\u043e\u043d\u043a\u0430\u0442\u0435\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u2014 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u043e\u0434 insert() \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043d\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438<\/li>\n<li>\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f, \u0435\u0441\u043b\u0438 DELETE \u0438\u043b\u0438 UPDATE \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0431\u0435\u0437 WHERE<\/li>\n<li>\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u044f UPSERT, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u0441\u0442\u0430\u0432\u0438\u0442, \u043b\u0438\u0431\u043e \u043e\u0431\u043d\u043e\u0432\u0438\u0442 \u0437\u0430\u043f\u0438\u0441\u044c \u0435\u0441\u043b\u0438 \u0443\u043a\u0430\u0437\u0430\u043d WHERE<\/li>\n<li>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u0442\u0440\u043e\u043a \u043f\u0435\u0440\u0435\u0434 \u0432\u0441\u0442\u0430\u0432\u043a\u043e\u0439 (\u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430)<\/li>\n<li>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0430\u0440\u0441\u0438\u043d\u0433 \u0434\u0430\u0442\u044b \u0438\u0437 \u0447\u0438\u0441\u043b\u0430 int, \u0438\u0437 \u0441\u0442\u0440\u043e\u043a\u0438 String, \u043b\u0438\u0431\u043e \u0438\u0437 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 Date<\/li>\n<li>\u041f\u043e\u0440\u044f\u0434\u043e\u043a \u043a\u043e\u043c\u0430\u043d\u0434 \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 GROUP BY \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435 LIMIT, WHERE \u043f\u043e\u0441\u043b\u0435 ORDER BY, \u0430 JOIN \u043f\u0435\u0440\u0435\u0434 SELECT<\/li>\n<li>\u0423\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0432\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u2014 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u044b setString(), setInt() \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0432\u0432\u043e\u0434\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 PreparedStatment, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0432\u0435\u0441\u0442\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435<\/li>\n<li>\u041f\u043e\u0434\u0441\u0442\u0432\u0435\u0442\u043a\u0430 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 IDE (\u0447\u0435\u0433\u043e, \u043e\u0431\u044b\u0447\u043d\u043e, \u043b\u0438\u0448\u0435\u043d\u0430 \u043f\u0440\u044f\u043c\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c SQL-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432)<\/li>\n<li>\u041a\u0430\u0436\u0434\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u0438\u043c\u0435\u0435\u0442 \u043f\u043e\u0445\u043e\u0436\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u0432\u0432\u043e\u0434\u0430 \u0442\u0430\u0431\u043b\u0438\u0446, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u043b\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430 SELECT \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043c\u0435\u0442\u043e\u0434\u043e\u043c addTable(), \u0442\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0438 \u0434\u043b\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 UPDATE, INSERT, DELETE<\/li>\n<li>\u041c\u043e\u0436\u0435\u0442 \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 SQL-\u043a\u043e\u0434, \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 PreparedStatement<\/li>\n<li>\u0417\u0430\u043f\u0440\u043e\u0441\u044b \u0432\u0441\u0442\u0430\u0432\u043a\u0438 \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u043c\u0435\u044e\u0442 \u0441\u0445\u043e\u0436\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443, \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 SQL, \u0433\u0434\u0435 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430\u043c\u0438 INSERT \u0438 UPDATE \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f<\/li>\n<\/ul>\n<p>  <b>\u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0438<\/b><\/p>\n<ul>\n<li>\u041f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0434\u043b\u044f CRUD \u0431\u0435\u0437 \u0441\u043b\u043e\u0436\u043d\u043e\u0439 \u043b\u043e\u0433\u0438\u043a\u0438<\/li>\n<li>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043d\u0435 \u0432\u0441\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445<\/li>\n<li>\u041d\u0435\u043b\u044c\u0437\u044f \u0432 \u043e\u0434\u043d\u043e\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u0432\u044b\u0431\u043e\u0440 \u043f\u043e\u043b\u0435\u0439 (\u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044e \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c)<\/li>\n<\/ul>\n<p>  <b>\u041d\u0435\u043c\u043d\u043e\u0433\u043e \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u0447\u0435\u043c \u044d\u0442\u043e \u043b\u0443\u0447\u0448\u0435 PreparedStatement<\/b><\/p>\n<p>  \u0423 PreparedStatement, \u043d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434, \u043e\u0434\u0438\u043d \u043c\u0438\u043d\u0443\u0441 \u2014 \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0443\u0434\u043e\u0431\u043d\u0430\u044f \u0432\u0441\u0442\u0430\u0432\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0447\u0435\u0440\u0435\u0437 set\u0422\u0438\u043f(\u0438\u043d\u0434\u0435\u043a\u0441, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435), \u0430 \u043a\u043b\u0430\u0441\u0441 IQL \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0442\u0438\u043f\u043e\u0432 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u0438 \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0442\u0438\u043f\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445:<\/p>\n<table>\n<tr>\n<td width=\"150\"><b>\u0422\u0438\u043f IQL<\/b><\/td>\n<td width=\"150\"><b>\u0422\u0438\u043f \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b<\/b><\/td>\n<td><b>\u0422\u0438\u043f \u043f\u0440\u0438 \u0432\u0441\u0442\u0430\u0432\u043a\u0435 \u0432 \u0437\u0430\u043f\u0440\u043e\u0441<\/b><\/td>\n<\/tr>\n<tr>\n<td>%s<\/td>\n<td>VARCHAR(255)<\/td>\n<td>String, \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c\u044b\u0439 \u043f\u0435\u0440\u0435\u0434 \u0432\u0441\u0442\u0430\u0432\u043a\u043e\u0439 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 StringFilter, \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043c\u0435\u0442\u043e\u0434\u043e\u043c setStringFilte()  <\/td>\n<\/tr>\n<tr>\n<td>%v<\/td>\n<td>VARCHAR(255)<\/td>\n<td>String \u0431\u0435\u0437 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 (\u0422\u043e\u043b\u044c\u043a\u043e \u044d\u043a\u0440\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u043e\u0434\u0438\u043d\u0430\u0440\u043d\u043e\u0439 \u043a\u0430\u0432\u044b\u0447\u043a\u0438)  <\/td>\n<\/tr>\n<tr>\n<td>%t<\/td>\n<td>TEXT<\/td>\n<td>String, \u0441 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u043f\u0435\u0440\u0435\u0434 \u0432\u0441\u0442\u0430\u0432\u043a\u043e\u0439 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 StringFilter, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043c\u0435\u0442\u043e\u0434\u043e\u043c setTextFilter()  <\/td>\n<\/tr>\n<tr>\n<td>%i<\/td>\n<td>INTEGER<\/td>\n<td>int, \u0431\u0435\u0437 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043e\u043a<\/td>\n<\/tr>\n<tr>\n<td>%d<\/td>\n<td>INTEGER<\/td>\n<td>int, Date, \u043b\u0438\u0431\u043e String. \u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 String \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 SimpleDateFormat \u0438 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u0443\u044e\u0449\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u0438, \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043c\u0435\u0442\u043e\u0434\u043e\u043c setDateFormat()  <\/td>\n<\/tr>\n<tr>\n<td>%f  <\/td>\n<td>FLOAT<\/td>\n<td>float, \u043b\u0438\u0431\u043e String<\/td>\n<\/tr>\n<tr>\n<td>%b<\/td>\n<td>BOOL<\/td>\n<td>boolean, \u043b\u0438\u0431\u043e String<\/td>\n<\/tr>\n<\/table>\n<p>  \u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u0439 \u0442\u0438\u043f\u043e\u0432 \u043f\u0440\u0438 \u0432\u0441\u0442\u0430\u0432\u043a\u0435 \u0434\u0430\u043d\u043d\u044b\u0445:<\/p>\n<p>  <b>\u0417\u0430\u0434\u0430\u0447\u0430:<\/b><\/p>\n<p>  \u0421\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 \u0434\u043b\u044f \u0432\u0441\u0442\u0430\u0432\u043a\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0441\u0442\u0440\u043e\u043a \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 users, \u043f\u043e\u043b\u044f name (VARCHAR), birth_date (INTEGER) \u0438 level (INTEGER)<\/p>\n<p>  <b>\u0420\u0435\u0448\u0435\u043d\u0438\u0435<\/b><\/p>\n<pre><code class=\"java\">Connection con = DriverManager.getConnection(&quot;url&quot;, &quot;login&quot;, &quot;pass&quot;); <\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"java\">IQL iql = new IQL(con); \/\/\u0421\u043e\u0437\u0434\u0430\u043b\u0438 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043a\u043b\u0430\u0441\u0441\u0430 IQL iql.      addTable(&quot;users&quot;).  \/\/\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 users     setInsertRows(&quot;name %s&quot;, &quot;birth_date %d&quot;, &quot;level %i&quot;); \/\/\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043f\u043e\u043b\u044f \u0434\u043b\u044f \u0432\u0441\u0442\u0430\u0432\u043a\u0438 \/* \u0442\u0430\u043a \u043a\u0430\u043a \u0432\u0441\u0435 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b (\u043a\u0440\u043e\u043c\u0435 getStatement \u0438 getSQL) \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442 this, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0447\u0435\u0439\u043d\u0438\u043d\u0433 \u0442\u0430\u043c, \u0433\u0434\u0435 \u044d\u0442\u043e \u0443\u0434\u043e\u0431\u043d\u043e *\/ iql.insert(&quot;User1&quot;, &quot;12.12.2012&quot;, 4); \/\/\u0432\u0441\u0442\u0430\u0432\u043a\u0430 iql.insert(&quot;User2&quot;, 1494968400, 3); \/\/\u0432\u0441\u0442\u0430\u0432\u043a\u0430 PreparedStatement ps = iql.getStatement(); \/\/\u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 PreparedStatement <\/code><\/pre>\n<p>  \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u0434\u0430 ps \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043a\u043e\u0434, \u043e\u0436\u0438\u0434\u0430\u044e\u0449\u0438\u0439 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f:<\/p>\n<pre><code class=\"sql\">INSERT INTO `users`(`name`, `birth_date`, `level`) VALUES ('User1', 1355256000, 4), ('User2', 1494968400, 3) <\/code><\/pre>\n<p>  \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e:<\/p>\n<pre><code class=\"java\">IQL iql = new IQL(con); iql.  addTable(&quot;users&quot;). \/\/\u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043a \u0437\u0430\u043f\u0440\u043e\u0441\u0443  setUpdateRows(&quot;name %s&quot;, &quot;birth_date %d&quot;). \/\/\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u043e\u043b\u0435\u0439 \u0434\u043b\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f  update(&quot;admin&quot;, &quot;11.04.1986&quot;). \/\/\u0432\u0432\u043e\u0434 \u0434\u0430\u043d\u043d\u044b\u0445  where(&quot;level %i&quot;, IQL.EQUAL, 3); \/\/\u0443\u0441\u043b\u043e\u0432\u0438\u0435 String SQL = iql.getSQL(); \/\/\u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 sql-\u043a\u043e\u0434\u0430 <\/code><\/pre>\n<p>  \u0427\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e SQL-\u043a\u043e\u0434\u0430:<\/p>\n<pre><code class=\"sql\">UPDATE `users` SET `name` = 'admin', `birth_date` = 513547200 WHERE `users`.`level` = 3 <\/code><\/pre>\n<p>  \u0421\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0441\u043e\u0431\u043e \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u043f\u0440\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0443\u0441\u043b\u043e\u0432\u0438\u044f (\u0432\u044b\u0437\u0432\u0430\u0432 \u043c\u0435\u0442\u043e\u0434 where() \u0438\u043b\u0438 whereId()), \u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 InsecureOperationException. \u0422\u0430 \u0436\u0435 \u0443\u0447\u0430\u0441\u0442\u044c \u0431\u0443\u0434\u0435\u0442 \u0436\u0434\u0430\u0442\u044c \u0438 delete \u0431\u0435\u0437 \u0443\u0441\u043b\u043e\u0432\u0438\u044f.<\/p>\n<p>  \u041d\u0435 \u043e\u0431\u043e\u0448\u043b\u043e\u0441\u044c \u0438 \u0431\u0435\u0437 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 UPSERT, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0431\u043d\u043e\u0432\u0438\u0442 \u0434\u0430\u043d\u043d\u044b\u0435, \u0435\u0441\u043b\u0438 \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0445\u043e\u0442\u044c \u043e\u0434\u043d\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442 \u0441\u0442\u0440\u043e\u043a\u0443, \u0435\u0441\u043b\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0439 \u043d\u0435\u0442. \u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e update \u0438 insert:<\/p>\n<pre><code class=\"java\">IQL iql = new IQL(con);         iql.addTable(&quot;users&quot;).         setUpsertRows(&quot;name %s&quot;, &quot;birth_date %d&quot;). \/\/\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0445 \u043f\u043e\u043b\u0435\u0439         upsert(&quot;guest&quot;, &quot;12.12.2012&quot;); \/\/\u0414\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0432\u0441\u0442\u0430\u0432\u043a\u0438 \u0432 \u0437\u0430\u043f\u0440\u043e\u0441         String SQL = iql.getSQL(); <\/code><\/pre>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0441\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043a\u043e\u0434:<\/p>\n<pre><code class=\"sql\">INSERT INTO `users`(`name`, `birth_date`) VALUES ('guest', 1355256000) <\/code><\/pre>\n<p>  \u0410 \u0435\u0441\u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043a \u044d\u0442\u043e\u043c\u0443 \u0436\u0435 \u043a\u043e\u0434\u0443 where() \u0438\u043b\u0438 whereId(), \u0442\u043e \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0441\u044f:<\/p>\n<pre><code class=\"java\">IQL iql = new IQL(con);         iql.addTable(&quot;users&quot;).         setUpsertRows(&quot;name %s&quot;, &quot;birth_date %d&quot;). \/\/\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0445 \u043f\u043e\u043b\u0435\u0439         upsert(&quot;guest&quot;, &quot;12.12.2012&quot;). \/\/\u0414\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0432\u0441\u0442\u0430\u0432\u043a\u0438 \u0432 \u0437\u0430\u043f\u0440\u043e\u0441         whereId(122); \/\/\u0443\u0441\u043b\u043e\u0432\u0438\u0435         String SQL = iql.getSQL(); <\/code><\/pre>\n<p>  \u0417\u0430\u043f\u0440\u043e\u0441 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<pre><code class=\"sql\">UPDATE `users` SET `name` = 'guest', `birth_date` = 1355256000 WHERE `users`.`id` = 122 <\/code><\/pre>\n<p>  <b>\u0412\u044b\u0431\u043e\u0440\u043a\u0430 \u0438 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446<\/b><\/p>\n<p>  \u041f\u0440\u043e\u0441\u0442\u0430\u044f \u0432\u044b\u0431\u043e\u0440\u043a\u0430:<\/p>\n<pre><code class=\"java\">String SQL = new IQL(con).addTable(&quot;table1&quot;).select().getSQL(); <\/code><\/pre>\n<p>  \u0421\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0438\u0439:<\/p>\n<pre><code class=\"sql\">SELECT * FROM `table1` <\/code><\/pre>\n<p>  \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u0443\u0441\u043b\u043e\u0436\u043d\u0438\u0442\u044c \u0432\u044b\u0431\u043e\u0440\u043a\u0443, \u0434\u043e\u0431\u0430\u0432\u0438\u0432 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c\u044b\u0435 \u043f\u043e\u043b\u044f \u0438 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u0430\u0431\u043b\u0438\u0446:<\/p>\n<pre><code class=\"java\">IQL iql = new IQL(con); iql.     \/\/\u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 domains, \u0432\u044b\u0431\u0435\u0440\u0435\u043c \u043f\u043e\u043b\u044f subdomain \u0438 domain, \u0433\u0434\u0435 domain \u043d\u0435 NULL     addTable(&quot;domains&quot;).select(&quot;subdomain&quot;, &quot;domain&quot;).where(&quot;domain %s&quot;, IQL.ISNTNULL).     \/\/\u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 orgs, \u0432\u044b\u0431\u0435\u0440\u0435\u043c \u043f\u043e\u043b\u0435 org_name \u0441 \u0430\u043b\u0438\u0430\u0441\u043e\u043c name, org_address \u0441 \u0430\u043b\u0438\u0430\u0441\u043e\u043c address     addTable(&quot;orgs&quot;).select(&quot;org_name name&quot;, &quot;org_address address&quot;).     \/\/\u0433\u0434\u0435 org_name \u0442\u0430\u0431\u043b\u0438\u0446\u044b orgs LIKE &quot;%\u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f%&quot;     where(&quot;org_name %s&quot;, IQL.LIKE, &quot;%\u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f%&quot;); \/\/\u043f\u0440\u0438\u0441\u043e\u0435\u0434\u0438\u043d\u0438\u043c \u043a \u0442\u0430\u0431\u043b\u0438\u0446\u0435 2 (orgs) \u0442\u0430\u0431\u043b\u0438\u0446\u0443 1 (domains) \u043f\u043e \u043f\u043e\u043b\u044f\u043c orgs.id = domains.org_id iql.join(2, &quot;id&quot;, 1, &quot;org_id&quot;); String SQL = iql.getSQL(); <\/code><\/pre>\n<p>  \u041a\u0430\u043a \u044f \u043f\u0438\u0441\u0430\u043b \u0432\u044b\u0448\u0435, \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0447\u0435\u0439\u043d\u0438\u043d\u0433\u0443 \u0438 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u043c\u0443 \u043f\u043e\u0440\u044f\u0434\u043a\u0443 \u043a\u043e\u043c\u0430\u043d\u0434, \u044d\u0442\u043e\u0442 \u0436\u0435 \u043a\u043e\u0434 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<pre><code class=\"java\">IQL iql = new IQL(con); iql.addTable(&quot;domains&quot;, &quot;orgs&quot;).      join(2, &quot;id&quot;, 1, &quot;org_id&quot;).      setTable(1).select(&quot;subdomain&quot;, &quot;domain&quot;).      setTable(2).select(&quot;org_name name&quot;, &quot;org_address address&quot;).      setTable(1).where(&quot;domain %s&quot;, IQL.ISNTNULL).      setTable(2).where(&quot;org_name %s&quot;, IQL.LIKE, &quot;%\u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f%&quot;); String SQL = iql.getSQL(); <\/code><\/pre>\n<p>  \u041e\u0434\u043d\u0430\u043a\u043e \u0437\u0434\u0435\u0441\u044c \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c setTable(), \u0447\u0442\u043e\u0431\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0430\u043a\u0442\u0438\u0432\u043d\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443. \u0412 \u043f\u0435\u0440\u0432\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043c\u0435\u0442\u043e\u0434\u0430 addTable() \u0441 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u0435\u0435 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0439.<\/p>\n<p>  \u042d\u0442\u043e\u0442 \u043a\u043e\u0434 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0437\u0430\u043f\u0440\u043e\u0441:<\/p>\n<pre><code class=\"sql\">SELECT  `domains`.`subdomain` AS `domains_subdomain`,  `domains`.`domain` AS `domains_domain`,  `orgs`.`org_name` AS `name`,  `orgs`.`org_address` AS `address`  FROM `orgs`  JOIN `domains` ON `orgs`.`id` = `domains`.`org_id`  WHERE  `domains`.`domain` IS NOT NULL AND  `orgs`.`org_name` LIKE '%\u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f%' <\/code><\/pre>\n<p>  <b>\u0422\u0438\u043f\u044b %s, %t, \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 StringFilter \u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441\u0442\u0440\u043e\u043a<\/b><br \/>  \u0414\u043b\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u0442\u0440\u043e\u043a \u0432 \u043a\u043b\u0430\u0441\u0441\u0435 IQL \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 StringFilter \u0438 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u043a\u043b\u0430\u0441\u0441\u0430 IQL:  <\/p>\n<table>\n<tr>\n<td> setStringFilter(StringFilter sf) <\/td>\n<td> \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u0441\u0442\u0440\u043e\u043a \u0442\u0438\u043f\u0430 %s \u043f\u0435\u0440\u0435\u0434 \u0432\u0441\u0442\u0430\u0432\u043a\u043e\u0439 <\/td>\n<\/tr>\n<tr>\n<td> setTextFilter(StringFilter sf) <\/td>\n<td> \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u0441\u0442\u0440\u043e\u043a \u0442\u0438\u043f\u0430 %t \u043f\u0435\u0440\u0435\u0434 \u0432\u0441\u0442\u0430\u0432\u043a\u043e\u0439 <\/td>\n<\/tr>\n<\/table>\n<p>  \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u043c\u0438 \u0441\u0442\u043e\u0438\u0442 \u0437\u0430\u0434\u0430\u0447\u0430 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c HTML-\u0442\u0435\u0433\u0438 HTML-\u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044f\u043c\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0437\u043d\u0430\u043a &lt; \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430 &amp;lt;.<\/p>\n<p>  \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0435\u0439:<\/p>\n<pre><code class=\"java\">IQL.setStringFilter( (s) -&gt; s.replace(&quot;&&quot;,&quot;&amp;&quot;).replace(&quot;&lt;&quot;, &quot;&amp;lt;&quot;).replace(&quot;&gt;&quot;,&quot;&amp;gt;&quot;) ); <\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0432\u0441\u0435 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0435 \u0432 \u0437\u0430\u043f\u0440\u043e\u0441 \u0441\u0442\u0440\u043e\u043a\u0438 \u0442\u0438\u043f\u0430 %s \u0431\u0443\u0434\u0443\u0442 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u044d\u0442\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c:<\/p>\n<pre><code class=\"java\">IQL iql = new IQL(con); iql.addTable(&quot;myvals&quot;); iql.setInsertRows(&quot;price %f&quot;, &quot;name %s&quot;); iql.insert(3.22, &quot;&lt;h1&gt;\u0441\u043f\u0438\u0447\u043a\u0438&lt;\/h1&gt;&quot;); String SQL = iql.getSQL(); <\/code><\/pre>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 SQL-\u043a\u043e\u0434:<\/p>\n<pre><code class=\"sql\">INSERT INTO `myvals`(`price`, `name`) VALUES (3.22, '&amp;lt;h1&amp;gt;\u0441\u043f\u0438\u0447\u043a\u0438&amp;lt;\/h1&amp;gt;') <\/code><\/pre>\n<p>  \u0412 \u043e\u0431\u0449\u0435\u043c \u044d\u0442\u043e \u0432\u0441\u0435. \u0411\u0443\u0434\u0443 \u0440\u0430\u0434, \u0435\u0441\u043b\u0438 \u044d\u0442\u043e\u0442 \u043a\u043b\u0430\u0441\u0441 \u043f\u043e\u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043a\u043e\u043c\u0443-\u0442\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0443 \u043f\u0440\u0438\u0437\u043d\u0430\u0442\u0435\u043b\u0435\u043d \u0437\u0430 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u0438\u0432\u043d\u0443\u044e \u043a\u0440\u0438\u0442\u0438\u043a\u0443.<\/p>\n<p>  \u0415\u0449\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0438 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043b\u043d\u0443\u044e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0449\u0443\u044e \u0432\u0441\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432 wiki \u043d\u0430 github.<\/p>\n<p>  \u2192 <a href=\"https:\/\/github.com\/r0ck3r\/IQL\">GitHub<\/a><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habrahabr.ru\/post\/329280\/\"> https:\/\/habrahabr.ru\/post\/329280\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u044f \u043f\u0440\u0438\u043d\u044f\u043b\u0441\u044f \u0437\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043e\u0434\u043d\u043e\u0433\u043e \u043a\u0440\u0443\u043f\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430 PHP, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u043e\u043b\u044c\u043a\u043e \u0438 \u0434\u0435\u043b\u0430\u043b \u0447\u0442\u043e \u043f\u0438\u0441\u0430\u043b, \u0447\u0438\u0442\u0430\u043b \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u043b \u0442\u043e\u043d\u043d\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 SQL. \u0421\u0440\u0430\u0437\u0443 \u0436\u0435 \u0431\u044b\u043b\u043e \u0440\u0435\u0448\u0435\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 SQL-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u043e\u0433\u0434\u0430 \u0441\u0438\u043b\u044c\u043d\u043e \u043e\u0431\u043b\u0435\u0433\u0447\u0438\u043b \u043c\u043d\u0435 \u0436\u0438\u0437\u043d\u044c \u0438 \u043f\u043e \u0441\u0435\u0439 \u0434\u0435\u043d\u044c \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u043c\u043d\u0435 \u0438 \u043c\u043e\u0438 \u043a\u043e\u043b\u043b\u0435\u0433\u0430\u043c \u0432 \u0435\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0435. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432\u044b\u043b\u043e\u0436\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u0432 \u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u044f \u043d\u0435 \u043c\u043e\u0433\u0443, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u0440\u043e\u0435\u043a\u0442 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u043d\u0435 \u043c\u043d\u0435, \u0434\u0430 \u0438 \u0441\u0438\u043b\u044c\u043d\u043e \u0437\u0430\u0432\u044f\u0437\u0430\u043d \u044d\u0442\u043e\u0442 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u043d\u0430 \u043d\u0430\u0448 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a.<\/p>\n<p>  \u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u0447\u0435\u043c \u044f \u0440\u0435\u0448\u0438\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0435\u0433\u043e \u0430\u043d\u0430\u043b\u043e\u0433 \u043d\u0430 Java, \u0432 \u043d\u0430\u0434\u0435\u0436\u0434\u0435, \u0447\u0442\u043e \u043e\u043d \u0441\u043e\u0441\u043b\u0443\u0436\u0438\u0442 \u043a\u043e\u043c\u0443-\u0442\u043e \u0434\u043e\u0431\u0440\u0443\u044e \u0441\u043b\u0443\u0436\u0431\u0443, \u0442\u0430\u043a \u043a\u0430\u043a \u043d\u0435 \u0432\u0441\u0435\u043c \u043d\u0443\u0436\u0435\u043d ORM, \u0430 JOOQ \u043a\u0430\u0436\u0435\u0442\u0441\u044f \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u043c  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-286748","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/286748","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=286748"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/286748\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=286748"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=286748"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=286748"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}