spring mvc 后台java 查询数据库的数据时候报错

![![图片说明](https://img-ask.csdn.net/upload/201805/04/1525364125_2454.jpg)图片说明](https://img-ask.csdn.net/upload/201805/04/1525364119_484515.png)图片说明

 @RequestMapping(value="/liuyan")
public ModelAndView liuyan(@RequestParam(value="liuyan", required=false) String liuyan, 
        HttpSession httpSession){
    System.out.println(liuyan);
    String sql = "select * from story where sname = '"+liuyan+"'";
    System.out.println(sql);
    String viewname="";
    final int[] isExist = new int[1];
    isExist[0] = 0;
    jt.query(sql, new RowCallbackHandler(){
        public void processRow(ResultSet rs) throws SQLException {
            if (rs.isFirst()) {
                isExist[0]=1;
            }
        }
    });
    if(isExist[0]==1) {
        String sql1 ="select * from '"+liuyan+"' limit 0,1000";
        System.out.println(sql1);
          viewname = "liuyan";
            final List<liuyan>liuyans = new ArrayList<liuyan>();
            jt.query(sql1, new RowCallbackHandler(){
                public void processRow(ResultSet rs1) throws SQLException {
                    System.out.println(rs1.getFetchSize());
                    while (!rs1.isAfterLast()) {
                        liuyan liuyanss = new liuyan(rs1.getString(1),
                                                rs1.getInt(2),
                                                rs1.getString(3),
                                                rs1.getString(4));
                        liuyans.add(liuyanss);
                        System.out.println(liuyans);
                        rs1.next();
                    }
                }
            });
            httpSession.setAttribute("liuyan", liuyan);
            System.out.println(liuyans.size());
            ModelAndView mv = new ModelAndView(viewname);
            mv.addObject("liuyans", liuyans);
            return mv;
    } else {
        httpSession.setAttribute("liuyan", liuyan);
        viewname = "chaxun_failed";
        ModelAndView mv = new ModelAndView(viewname);
        mv.addObject("liuyan", liuyan);

        return mv;

    }
   }

图片说明

图片说明

图片说明

第二个就是这个数据库的表,第三个是报错情况,第一个是输入框

图片说明
很明显,是你String sql1 ="select * from '"+liuyan+"' limit 0,1000"; 这个sql有问题,表名都没有,liuyan是您转的表名吗?

limit,mysql数据库可以用,其他数据库不行

mysql可以用limit,oracle,sqlsever用rownumber

语法错误了,好好看看sql,表名没有

很明显,是你String sql1 ="select * from '"+liuyan+"' limit 0,1000"; 这个sql有问题,表名都没有, from什么呢,**不应该加单引号**

   if(isExist[0]==1) {
        String sql1 ="select * from '"+liuyan+"' limit 0,1000";

这一行的sql写错了,你把sname的参数当成表名拼写到sql里,按照你的业务,应该改成

 "select * from story where sname = '"+liuyan+"' limit 0,1000"

from 后面跟数据库名字

按照你的查询需求,oracle可以这样查
select * from (select t1.*,rownum rn from(select t.* ,t.rowfrom 表名 where text like "%"+名字 +"%")t1 where rownum <=endRow) where rn>=beginRow;

图片说明

图片说明

![图片说明](https://img-ask.csdn.net/upload/201805/04/1525406961_323622.jpg)图片说明

图片说明

图片说明