java查询的结果集放到list里

controller

@RestController
public class CsvController {
    @Autowired
    CsvDownloadService csvDownloadService;

    @RequestMapping(value = "/downCsv",method= RequestMethod.GET)
    public void DownCsv(HttpServletResponse response) throws IOException {
        List<couse> result = csvDownloadService.CsvDown();
        System.out.println(result);
    }
}
    
 

service

@Service
public class CsvDownloadService {
    @Autowired
    CsvDownloadMapper csvDownloadMapper;
    //获取数据
    public List<couse> CsvDown(){
        return csvDownloadMapper.CsvDown();
    }
}

entity

public class couse {
    private int couseid;
    private String cousername;
    private String cousetype;

    public int getCouseid() {
        return couseid;
    }

    public void setCouseid(int couseid) {
        this.couseid = couseid;
    }

    public String getCousername() {
        return cousername;
    }

    public void setCousername(String cousername) {
        this.cousername = cousername;
    }

    public String getCousetype() {
        return cousetype;
    }

    public void setCousetype(String cousetype) {
        this.cousetype = cousetype;
    }
}

mapper 

@Repository
@Mapper
public interface CsvDownloadMapper {
    List<couse> CsvDown();
}

xml

<mapper namespace="com.example.demo.mapper.CsvDownloadMapper">
    <resultMap id="BaseResultMap" type="com.example.demo.entity.couse">
        <result column="COUSEID" jdbcType="INTEGER" property="couseid" />
        <result column="COUSENAME" jdbcType="VARCHAR" property="cousename" />
        <result column="COUSETYPE" jdbcType="VARCHAR" property="cousetype" />
    </resultMap>

    <select id="CsvDown" resultType="com.example.demo.entity.couse">
        select * from T_COUSE
    </select>
</mapper>

执行结果

[com.example.demo.entity.couse@60cc9727, com.example.demo.entity.couse@1f303423, com.example.demo.entity.couse@1001e123, com.example.demo.entity.couse@7bef6cc0]

期望结果

[

{couseid:"10",cousename:"asdasd",cousetype:"asdasda"}

{couseid:"11",cousename:"asdasd",cousetype:"asdasda"}

{couseid:"12",cousename:"asdasd",cousetype:"asdasda"}

]

 

我知道在entity里加个toString方法可以变成期望值,但是不是list类型是string类型,想实现直接就是返回一个list,里面数据能正常显示。没接触过这方面,有人可以帮帮忙回答一下吗

直接重写实体类的toString方法就好了呀

你方法返回的result就是一个list,list对象和你的couse对象不能直接输出在控制台。实际生产中,你返回的list会到前端页面,由前端页面进行处理展示。

如果你想看list或者couse中的数据,就是用toString输出在控制台,或者debug模式打一个断点

谢谢大家,toString 也是一个方法。

可以用fastjson

resultType的实体类改成map也可以 结果像这样

[{COUSEID=10, COUSETYPE=aaaaaaaaaaaa, COUSENAME=aaaaa}, {COUSEID=11, COUSETYPE=aaaaaaaaaaaa, COUSENAME=aaaaa}, {COUSEID=12, COUSETYPE=aaaaaaaaaaaa, COUSENAME=aaaaa}, {COUSEID=13, COUSETYPE=aaaaaaaaaaaa, COUSENAME=aaaaa}]

@Data Lombok