一,业务描述
最近单位有这样一个报表,根据选择的年份返回年份的列,比如,选择 城市,2015,2016年,那么返回列就是三列,城市,2015年数据,2016年数据,如果是只返回城市 , 2016年数据,那么返回列只有两列 ,城市,2016年数据
二,实现技术MyBatis
我们只是在Mybatis中,where子句中可以采用foreach进行动态集合的输入查询,但是在select子句中,网上的例子几乎没有,与是咱们不防来试试如何实现“一”中描述的需求
三,准备环境
1,mybatis环境,网上资料很多自行搜索
2,可以采用mysql,oracle等关系型数据库
建表语句:插入数据
dtop table 'tree' ;
create table tree(
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(20) ,
age int(2),
year int(4),
notes varchar(20),
PRIMARY KEY (id)
)ENGINE=MyISAM DEFAULT CHARSET=utf8;
insert into tree(name, age , year , notes) values
('nanjing' , 10 , 2006 , 'BTP'),
('beijing' , 11 , 2005 , 'BTP'),
('nanjing' , 11 , 2006 , 'CTP') ;
insert into tree(