叙:在做一个关于按照开始时间到结束时间,查询这一时间段内的表数据时遇到了一些问题,就是开始时间和结束时间的注入到SQL语句中方式以及运行SQL语句的运行等,尝试了许多次最后终于搞定了~
背景
代码目的
首先,代码编写的目的是连表查询,查询几个表中的数据进行相互印证,最终得到符合条件的数据,在此过程中需要有个调价就是根据某张表中的时间进行判断取值,得到某个时间段内的数据;
代码已有数据
数据表:
数据库表:A表、B表
两张表中存在一些数据,重点的几个列:A表中有个“env_id”、“sampler_name”(这两个都是不怎么重要的,也没有太多的难点,本章中并不对这个作为重点),B表中有“sample_time”,重点注意的是sample_time这个列的数据,这是一个数据类型为datetime的数据列,存放是的某个作业的时间点,下边要进行时间查询的判断依据就是这个列的数据;
方法中传递过来的参数:
1、 jsonObject对象,这个里封装了前台传过来的开始时间(startTime)和截至时间(endTime),即是查询某个时间段内的生成的数据;
2、 beginSize、pageSize这两个是分页所用到的索引码、页码两个数据;
尝试
失败的代码
Dao层实现类(数据持久层代码):
@Override
public Pagination<JSONObject> findAllList(int beginSize, int pageSize, JSONObject jsonObject) {
StringBuffer s = new StringBuffer();
s.append("SELECT t1.id_ SamplerId, t1.sampler_name Name, t1.sample_date Date, t2.meal_ Type ");
s.append("FROM A t1, B t2 ");
s.append("WHERE t1.env_id = '"+jsonObject.get("envId")+"&