JDBC、JdbcTemplate、SpringData对比学习
https://blog.csdn.net/Changui_/article/details/78484935
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
配置文件存在空格,删掉即可
要想前后台使用中文在mysql,连接一定如下
mysql.url=jdbc:mysql://ip:3306/test?characterEncoding=UTF-8&autoReconnect=true&rewriteBatchedStatements=true&allowMultiQueries=true
jdbcTemplate和namedParameterJdbcTemplate
https://segmentfault.com/a/1190000010907688
https://www.cnblogs.com/mythdoraemon/p/7613062.html
@DataSourceAnnotation(name = DataSourceType.dataSource_mysql2)
@Transactional(readOnly = true, propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
@Override
public List<Temp> findByNameAndCamerId(String name, long start, long end, List<String> canmerIds) {
// TODO Auto-generated method stub
String sql = "select p.pic_path,p.name,p.timestamp,p.gender,p.age,c.longitude,c.latitude from face_info "
+ "as p left join camera_info as c on p.camera_id=c.camera_id where p.name=" + name
+ " and p.timestamp>=" + start + " and p.timestamp<=" + end +" and c.camera_id in (:canmerIds)" +" ORDER BY p.timestamp ASC";
System.out.println("canmerIds:"+canmerIds);
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("canmerIds", canmerIds);
List<Map<String, Object>> mapList = namedParameterJdbcTemplate.queryForList(sql,paramMap);
List<Temp> list = new ArrayList<Temp>();
for(Map<String, Object> map : mapList){
Temp t=new Temp();
for(String key : map.keySet()){
System.out.println("key:"+key+",value:"+map.get(key));
t.setPic_path((String)map.get("pic_path"));
t.setTimestamp((Long.valueOf((long)map.get("timestamp"))));
t.setName((String)map.get("name"));
t.setLongitude(BigDecimal.valueOf(Double.valueOf((String.valueOf(map.get("longitude"))))));
t.setLatitude(BigDecimal.valueOf(Double.valueOf((String.valueOf(map.get("latitude"))))));
t.setAge((int)map.get("age"));
t.setGender((String)map.get("gender"));
}
list.add(t);
}
System.out.println("return list:"+list.size()+","+list.toString());
return list;
}