后台到数据库可以查到值,但是,前台却不显示值,但是又一行记录,这是为什么?

图片说明
--------------------------------listProducts.jsp------------------------------------

    <table  class="table table-striped" width="1024">
        <thead>
            <tr>
                <th>商品全称</th>
                <th>品牌</th>
                <th>生产厂家</th>
                <th>计量单位</th>
                <th>零售价</th>
                <th>所属分类</th>
                <th>操作</th>
            </tr>
        </thead>
            <c:forEach items="${cs}" var="b">
                <tr>
                    <td>${b.name}</td>
                    <td>${b.brand}</td>
                    <td>${b.address}</td>
                    <td>${b.unit}</td>
                    <td>${b.outprice}</td>
                    <td>${b.category_id}</td>
                    <td>
                        <a href="javascript:delOne('${b.id}')">详细参数</a>
                        <a href="${pageContext.request.contextPath}/servlet/ManagerServlet?operation=editCategory&categoryId=${b.id}">修改</a>
                        <a href="javascript:delOne('${b.id}')">删除</a>
                    </td>
                </tr>
            </c:forEach>

        </table>

-------------------------- ManagerServlet------------------------------

 public class ManagerServlet extends HttpServlet {
    private BusinessService s = new BusinessServiceImpl();

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String operation = request.getParameter("operation");
        if("showAllProduct".equals(operation)){
            showAllProduct(request, response);
        }
    }

    private void showAllProduct(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {

        List<Product> cs = s.findAllProducts();
        request.setAttribute("cs", cs);
        request.getRequestDispatcher("/manager/listProducts.jsp").forward(request, response);   

    }
        public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request, response);
    }
    }

----------------------------BusinessServiceImpl.java----------------------

 public class BusinessServiceImpl implements BusinessService {
    private ProductDao pDao = new ProductDaoImpl();
        public List<Product> findAllProducts() {
        return pDao.findAll();
    }
    }

------------------------------------ProductDaoImpl.java-------------------------

 public class ProductDaoImpl implements ProductDao {
    private QueryRunner qr = new QueryRunner(DBCPUtil.getDataSource());
    public List<Product> findAll() {
        try {
            return qr.query("select * from product", new BeanListHandler<Product>(Product.class));
        } catch (SQLException e) {
            throw new DaoException(e);
        }
    }
0

2个回答

b.category_id
这个正确,别的都没有,是吧。在程序中下断点调试看看返回的列表中有没有,另外你的页面表达式绑定有没有问题

1

跟踪这句:List cs = s.findAllProducts();
request.setAttribute("cs", cs);
看看列表里name、brand这些字段有没有值,或者是不是空值。

0
bulusli3
lhl_lqc 回复EASONLEELEE: private QueryRunner qr = new QueryRunner(DBCPUtil.getDataSource()); public List<Product> findAll() { try { return qr.query("select * from product", new BeanListHandler<Product>(Product.class)); } catch (SQLException e) { throw new DaoException(e); }这个方法有问题,检查下是不是哪写错了。
4 年多之前 回复
EASONLEELEE
EASONLEELEE List<Product> cs = s.findAllProducts(); for(Product c:cs){ String name = (String) c.getName(); System.out.println(name); }用以上语句试了后,发现除了category_id,其他值居然都为null,但是数据库表都是有数据的呀
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
数据库前台提示成功,实际后台数据库报错的问题
所有SQL,表名前面都要加上数据库的名字,例如:数据库名字为db,表名字为test_table      select count(1) from db.test_table
Navicat中可以查出数据,但是mybatis查不出来
     今天在写代码的时候突然发现以下的问题:真是让我很是奇怪,就是为什么数据库中有数据,而且我是把控制台打印的sql复制到Navicat中去执行的,所以应该不会存在问题,那么是什么原因,导致代码中查不出来数据呢?     因为是公司的项目,所以我试了下其它的功能发现查询都是有数据的,但是发现那些查询条件不是中文,所以我就开始想,是不是配置文件中没有配置utf-8。 idea控制台打印的sq...
MyBatis打印日志查询0条数据库却可以查到
https://********.com?userId  = &quot;ABC123&quot;在开发接口时 想测试一下  userId为String 类型 所以请求参数就这么拼接了怎么查也查不到 DEBUG 看了一下值也是对的其实是这个样子https://********.com?userId  = ABC123就可以查到了  这个也困扰了我半天 还好我机智 希望可以帮到你们...
Bug:数据库的有数据,但是查出来是0
场景: 公司的业务很多方面不成熟导致的数据库设计的时候字段类型有些不统一,导致以下bug的产生 如图数据库的查询结果如下: 但是我查出来的数据总是0.然后就悲剧了,跟代码发现就是很奇怪的现象:把mybatis中sql在sql server中执行是可以的,但是返回的resultmap中的相应字段是0. 查了半天发现,是类型不对应: 数据库中是decimal类型,在java程序中
ORACLE EBS DATA_BLOCK不显示数据,但Last_query可以查询到数据
前台窗口的DATA_BLOCK不显示数据,但Last_query可以查询到数据 原因:窗口中的数据库关联列的值有非法字符,检查Item type是List Item或checkbox等非Text Item的列,在后台的值,例如ATTRIBUTE1列,前台是类型List Item,后台查询显示值是空,但where条件增加 and attribute1 is null后,就查不到数据了,转换费ASC
整合SpringMvc和mybatis问题:后台已传值到jsp,但显示不出来
昨天整合SpringMvc和mybatis后,明明后台已查询出来值,也传到了前台,但是前台值显示为空!现在调试好了,一定要记录下来!! 涉及到从数据库获取值的时候,在前台取值一定要注意字段的大小写!! 1.后台已获取到值(注意这个itemList里的字段名都是大写的!!) 2.前台显示值为空 前台jsp部分代码:取值的字段名是小写 item
【运维心得】查得到数据页面却不显示的解决方案
今天工作中碰到一个诡异的问题,如下图,明明查出来是有31条数据,但是页面上缺没有显示? 一开始认为是js的问题,前台界面代码过滤了一遍,结果发现很简单,没有发现什么问题,如下: sortOrder: 'desc', pagination: true, pageNumber: 1, pageSize: 10, pageList: [10, 20, 50], 重点转到后台,发现数据库里的确...
为什么数据库有这条数据,却怎么也查询不出来
最近遇到了一个问题,在MYSQL数据库中明明有这条数据却怎么也查询不出来,后来,点击某个字段的数据后,却发现数据前多了一个空格,太无语了,原来是POST传值过来时带的空格,所以建议在插入之前,先将POST的值两边的空格去掉。例如:$_POST['name']=trim($_POST['name']);
【Android问题记录】为什么在终端直接查询数据库可以查到数据但是用代码总是查不到
作者:Yogi前言:在SecureCRT中,通过sqlite命令查询数据库,明明是有数据的,为什么代码中获取到的cursor总是为null呢?总结: Uri1:content://com.szjiuzhou.tvprovider/CONFIGURATIONUri2:content://com.szjiuzhou.tvprovider/configuration这2个uri代表的是2个不同的表哦。代
java异常-一条sql在Navicat里能查出数据,但是mybatis查不出来
1、xml里把#换成$接收参数,不预编译(比如in查询时,拼装好的ids) 2、可能是映射出错。(resultMap错了或者resultType错了) resultMap可以连续写多个。 3、参数错了,多了符号。比如 需要 id= '87adbdd21e61267ee01' 前端给的id是 '87adbdd21e61267ee01'   所以查询就变成了id= ''87adbdd21e6...
Oracle数据库中可以查出数据,数据访问层却查询不到数据解决方法
可用穷举法进行分析: 1.连接错误, 检查连接池配置文件,将连接配置调配好即可 2.数据添加之后没有提交至数据库,提交之后再次查询 3.若是查询数据异常则说明pojo类中属性类型与Oracle表中列类型不匹配 ...
为何sql语句能查询到值,DAO层却返回了一个null
IDEA   spring boot+ssm  mybatis 配置文件 返回一个对象Customer 。 在实体Customer内多构造了一个无参数的构造。 public Customer() { } 这就导致了Mapper.xml在返回对象的时候,率先调用了这个构造注入。导致dao层无值返回。 解决方法:把该构造删除。  ...
Mybatis控制台打印sql能查到数据,但是程序返回null
关于传参,Mybatis IN函数的用法,太马虎了浪费很多时间。 错误实例:Mybatis xml配置文件 控制台输出语句 正确的Mybatis xml文件配置 控制台输出语句
数据库已更新,前台查询信息不同步更新问题解决方法
在用hibernate时遇到一个挺纠结的问题,就是我在手动修改数据库的信息后,前台页面查询到的信息还是之前的结果,一开始以为是缓存的问题,经过多次修改和在网上查询资料,最终发现可能是hibernate自身的连接池存在问题,通过下面方法配置C3P0连接池就可以解决这个问题。 首先在hibernate.cfg.xml中加入下面代码: [html] view
oracle数据库sql developer 用SQL可以查到数据,但是程序却查不出来
使用 oracle sql developer 刚刚插入了一批数据,自己用sql查的到,但是JDBC程序查不到,原因很简单,oracle sql developer默认是不提交事务的,所以这条记录并没有真正写到数据库里面,提交一下,问题解决!   ...
mybatis执行查询语句查询不到结果,控制台输出sql语句复制到数据库中能查到数据
今天用mybatis查询语句的时候,控制台输出的sql语句可以在mysql中可以正确执行,但是查询出来就是没有数据。 原查询语句如下(为展示问题明确,将sql进行了简化): select id="getListByQueryValue" parameterType="Map" resultType="Map"> SELECT * FROM
用户没有输入(前台传值为空时)的数据存储原则
用户没有输入(前台传值为空时)的数据存储原则 已知: 1、数值型数据可能会涉及到数学运算。 2、数值类型和日期时间类型,当存储为空值‘’时,sqlserver会分别按默认值存储(0、1900-01-01 00:00:00.000) 结论:暂时,先将前台传值为null或空值时,统一处理成空值‘’传输到后台并保存。 仅插入一个字段,其他字段为null。 字符类型插入空值,存储的就是空值;其他未插入数...
前台请求方法,到了后台,后台执行正常,前台报错404
场景描述:前台能正常请求到后台,能进入断点,但是前台返回404 原因,后台执行正常,但是没有告知前台,所以得去寻找视图解析器,找不到就返回了404的错误信息给前台页面, 解决方案:加上@ResponseBody注解告知不用找视图解析器了 我返回的就是一堆 json 数据,问题解决...
Mysql查询数据库字段值是null的记录
如果数据库存的是NULL,就用where XX ='NULL' 如果本来就没有值,数据库默认的null就用where XX is null 
ajax成功请求到后台,但是前端报404错误
记录下今天遇见的一个问题,一个删除的ajax请求,传递一个主键到后台,后台成功接受并执行删除,但是前端报POST404错误。 查找原因是由于Controller忘记写返回状态码 @Responsebody Spring对返回值映射时找不到对应的视图,所以返回404
mysql5.7 数据库没查到数据 但页面上可以显示
插入数据库时 进入数据库中看没有数据 但是在页面上查询可以看到 缓存删了 事物我开了 以为有错误 但是我没有触发事物 后来把事物关联 也还是库中没有 但能查到 后来我断线重连就能查到数据了 一切操作也正常了 没有找到原因 , 有遇过这种情况的可以解答一下?
sql语句可以查出来,但是mybatis查不出来,用的是mysql数据库
问题:mybatis查出来的时候,browsingVolume数据为null,但是数据库中却是有数据的原由:数据库的字段名称和参数不对应
oracle数据库加ssm框架出现SQL语句数据库可以查到数据,项目中查不到的问题
oracle数据库加ssm框架出现SQL语句数据库可以查到数据,但项目中查不到数据的问题 个人错误是因为在oracle数据库中录入完数据之后没有提交
关于后台有数据,前台得不到数据的BUG
类型错误:反转()的参数必须是一个序列问题的来源详情:    当我在实现将Windows的Django项目通过远程仓库克隆到(git clone 网址)LINUX系统下运行的时候报的错误!在报错之前,我已经将所有的环境,安装包进行了pip list &amp;gt; requirements 进行了安装,也就是说,排除了系统配置错误的可能。功能缺陷详情:    具体实现的是省市县三级联动查询,我通过打断点...
数据库有数据,但查询不到数据,没查到还爆空指针
今天在做springMVC项目的时候,因为粗心,忘了在控制层注入service的类上面加上@Autowired,运行代码就一直报空指针,把hql翻译成sql放入数据库查询有数据,而且我这里查询到的是空指针应该也不会报错啊,一直在方法里面找原因,查看代码没有问题,最后准备重写一遍,删除现在写的,当删除到最上面的类注入时,竟然发现自己没有写@Autowired,加上代码运行成功,所以写代码是一定要小心
同样的sql语句在数据库中能查出结果,但是在java项目中,查不出来
1.查看jdbc.properties url链接是否指定了数据编码格式 url = jdbc:mysql://xx.x.xx.xxx:3306?useUnicode=true&characterEncoding=utf8 2.如果jdbc.properties已经设置还是出现该错,则查看数据库连接配置xml文件,在jdbcUrl中也设置数据编码格式
Java中使用同样的sql语句在数据库中可以查询出结果,但是在程序中确无法查询出结果——解决方法
最近在写一个JavaWeb项目的时候遇到了一个问题就是,同样的sql语句在数据库中可以查询出结果,但是在程序中确无法查询出结果,今天给大家带来解决方案 如图所示,这是我在navicat中测试好的sql语句,但是在这里查询出来的结果集和确是空。 但是我之前查询所有商品时,并没有出现任何问题,可以查到结果。 所以,如果你也遇到了这种情况就要注意了,很有可能是你的程序只有在sql语句中有中文时不能正...
JSP页面使用EL表达式不显示实际数据
今天在做一个小Demo时,将数据集合放进Request中传入JSP页面,并使用EL表达式遍历,启动后发现数据并没有显示出来,而是把EL表达式原模原样的显示在了页面上。 查找后发现,需要在页面顶部标签中加入 “ &lt;%@page isELIgnored=“false”%&gt; ”,加入后问题解决。 ...
Oracle数据库连接Eclipse的实例(解释为什么有时候明明在数据库里插入了数据却读不出来)
创建项目->导包-> libs:额外包目录 我们导好包之后就开始写连接代码了。 package com.squid.jdbc; import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sq
ajax 后台正常执行,前台报错信息却是404
检查下后台设置Response输出对象的StatusCode为什么404的,要不也会提示404状态   原因和解决方法【感谢网友】: 先前忽略了注解@ResponseBody的作用。   @responsebody表示该方法的返回结果直接写入HTTP response body中一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@respo...
页面404,但是后台不报错的解决方案!心得!
由于上篇需要Struts和servlet共存,然后把web.xml里的Struts过滤/.*改成了*.action,如图所示:之前写代码action里直接就是action名字,习惯了。所以即使出错了也没想到是这里。网页404,看了看后台,没报错!然后clean一下,没毛病。奇了怪了。后来发现通过AJAX查询的正常。原来这个表单都没传出去!在action那里加上.action就行了!如图所示: 希
input框的value明明有值,但是不显示问题
上午刚碰到的问题。也耽误了不少时间。用浏览器F12查看元素,发现value有值,但是显示的确实placeholder的值。然后注释掉placeholder之后,input框什么都不显示了。一、如图所示      百度一下,都说可能是JS赋值的原因。因为前端页面不是我写的,所以刚开始也没想到这一点。后来和同事一起找问题,才发现问题所在。二、错误原因function loadPage(){ if
数据库中有此条数据,但是用sql查不出来
项目中遇见的问题存储的联系人2200多条。每次根据机构级别 ol 来查询的。select * from ADRESS_BOOK_USER where ol&amp;gt;=9    ol  小于10的都可以查出来,但是 大于10的就是查不出来,sql 写的也没有问题,就是查不出数据。经仔细审查,原来存表的时候数据结构给写错了。ol 应该用int 类型,当初存成了...
数据库有数据但查不到
session没及时调用session.close关掉,对于数据库数据写和读要分得很开
plsql可以查到数据,但是程序查不到
今天遇到一个问题,plsql刚刚插入的一条数据,自己用plsql查的到,但是JDBC程序查不到,原因很简单,plsql默认是不提交事务的,所以这条记录并没有真正写到数据库里面,这个问题已经有两个同事碰到了,这次我立个牌,防止自己下次碰到忘记了
数据库能查出字段的值而SSM查不出来的原因分析
数据库中checkResult字段有值,通过SQL可以正常查出,但SSM项目页面该字段的值却显示不出来。然后我从以下3个方面去查找原因:1.映射文件的列名与属性不一致  2.查询的SQL语句缺少该字段3.实体类中添加了别名的注解@SerializedName(&quot;MHEALTHNO&quot;)三个方面都进行了查找DISABLED_BY, DUNS, DISABLED_DATE, CHECKRESULT, E...
sql语句可以查出数据但是java数据中有的为null
java查出部分数据null,mysql中是varchar类型,javabean为String类型,在MySQL中保存的为数字 将保存的数字修改为中文,查出还是null,这就有点意思了。 然后发现,出现null的数据在mysql中的列名为“u_id”这种,然后javabean中为"uId"这种, 解决方案,java中的xml文件。u_id AS uId
java开发中,后台可以查到数据的数据有的有,有的为空
把方法对应的Mapper.xml文件里的resultType删掉,改为 resultMap="BaseResultMap",并配置resultMap 例如: select id="getAll" resultType="com.miqian.pojo.Touzi">      select * from touzi  select> 改为   select id="getAll
使用相同的语法、条件,在SQL Sever能够查询出数据,可是在Hibernate的hql语言为啥就查不出来了呢?
在做项目的时候遇到一个非常奇葩的问题,一下是我的代码: // 验证该文件名是否存在 public boolean verifyAppName(String appName, int customerId, int typesName) { String hql = &quot;from CustomerApplication where typeId = '&quot; + typesName + &quot;' a...
ssm-后台有数据,代码没有错误,得到的集合为null
在学习ssm进行后台查询的时候,框架结合没有错误,也有输出记录但是得到结果却是“null”。把输出的语句放到数据库中查询,也能够查询到结果。那么问题到底出在哪里了呢?这个时候就要检查下“mapper.xml”配置文件了错误:&amp;lt;!-- 商品列表查询 --&amp;gt; &amp;lt;!-- parameterType传入包装对象(包装查询条件) resultType建议使用扩展对象...