Traslado desde las islas Aland
Cómo utilizar la búsqueda difusa
String SQL = "SELECT * FROM table_in WHERE LIKE ?";//目标sql: SELECT * FROM table_in WHERE LIKE '%abc%'
String s = "abc";
getJDBCTemplate().query(SQL, new String[]{"%"+s+"%"});
Cómo usar JdbcTemplate en ()
String SQL = "SELECT * FROM table_in WHERE IN (:id)";//目标sql: SELECT * FROM table_in WHERE IN ('1','2','3','4')
String s = "1,2,3,4";
Map<String, Object> map = new LinkedHashMap<String, Object>();
map.put("id", Arrays.asList(s.split(",")));//传入一个数组
List<TrainPo> result = new NamedParameterJdbcTemplate(getJDBCTemplate()).query(SQL, map);
Resumen: La
razón por la que estos dos son diferentes de los ordinarios es porque se convertirán dentro de JdbcTemplate
La conversión los reemplazará uno por uno según la conveniencia de los datos y les agregará comillas simples
Esto conduce a comportamientos que no concuerdan con el significado original.
como sigue
% xxxx% ==>% 'xxxxx'%
(1,2,3,4) ==> ('1,2,3,4') se convierte en un todo