为了账号安全,请及时绑定邮箱和手机立即绑定

用集合输出怎么报错了?Unknown column '?€??§‘????–??€?' in 'where clause'

public List<Goddes> query(List<Map<String, Object>>params) throws Exception{
        List<Goddes>result=new ArrayList<Goddes>();
        
        Connection cnn=DbUtil.getConnection();
        StringBuilder sb=new StringBuilder();
        sb.append(" select*from yingxiong  where 1=1 ");
        
        if(params!=null&&params.size()>0){
            for (int i = 0; i < params.size(); i++) {
                Map<String, Object>map=params.get(i);
                sb.append(" and "+map.get("name")+" "+map.get("rela")+" "+map.get("value")+" ");
            }
        }
        
        PreparedStatement ptmt=cnn.prepareStatement(sb.toString());
        
                System.out.println(sb.toString());
        ResultSet rs=ptmt.executeQuery();
        Goddes g=null;
        while(rs.next()){
            g=new Goddes();
            g.setId(rs.getInt("id"));
            g.setname(rs.getString("name"));
            g.setSex(rs.getString("sex"));
            g.setAge(rs.getInt("age"));

         result.add(g);
        }
        return result;
    }

正在回答

1 回答

应该是项目的字符集不对,SQL 语句拼接时遇到了汉字的乱码。可将项目字符集修改为UTF-8试下。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JDBC之 “ 对岸的女孩看过来”
  • 参与学习       99327    人
  • 解答问题       856    个

一起领略JDBC的奥秘,为进一步学习集成框架打下良好的基础

进入课程

用集合输出怎么报错了?Unknown column '?€??§‘????–??€?' in 'where clause'

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信