没有接收到数据

没有接收到数据

http://img1.sycdn.imooc.com//climg/5d399eda00013b4414250584.jpg

http://img1.sycdn.imooc.com//climg/5d399eda0001286415010775.jpg

我打印出获取到的root为空

这个是CatalogServlet的list方法

/**
 * 查询所有分类
 * url="/admin/Catalog/list.do"
 *
 * @param request
 * @param response
 * @throws ServletException
 * @throws IOException
 */
public void list(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //调用业务
    Catalog root = catalogService.getRoot();

    Integer id = root.getId();
    Integer pid = root.getPid();
    String info = root.getInfo();
    root.getChildren();
    System.out.println(id + "----" + pid + "---" + info);
    //页面跳转
    request.setAttribute("root", root);
    request.getRequestDispatcher("/WEB-INF/pages/admin/catalog_list.jsp").forward(request, response);
}

CatalogService

//获取分类
Catalog getRoot();

CatalogServiceImpl

public Catalog getRoot() {
    return catalogDao.select(10000);
}

CatalogDao

/**
 * 插入数据和批量插入数据
 * 直接嵌入脚本
 * @param list
 */
@Insert("<script>" +
        "insert into catalog (title,pid,info) vales" +
        "<foreach collection='list' item='catalog' separator=',' >" +
        "(#{catalog.title},#{catalog.pid},#{catalog.info})" +
        "</foreach>" +
        "</script>")
@Options(useGeneratedKeys = true, keyProperty = "id")
void beachInsert(List<Catalog> list);

mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

    <properties resource="db.properties"></properties>

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <package name="com.coke.cake.dao"/>
    </mappers>
</configuration>


正在回答

登陆购买课程后可参与讨论,去登陆

4回答

同学你好,问一下同学数据库中有数据吗?另外在同学的截图中看到有报错,报错是什么呢。建议同学检查一下数据库中的数据,并解决一下报错,或者将报错贴上来,方便我们查看具体报错。

祝:学习愉快~

提问者 Wchisper 2019-07-26 16:00:46
/**
 * 根据它父类的id,查询它下面所有的子类
 *
 * @param pid
 * @return
 */
@Select("select * from catalog where pid=#{pid}")
@ResultMap("all")
List<Catalog> selectByPid(int pid);


提问者 Wchisper 2019-07-26 13:33:51
/**
 * 跟据id查询最高级分类
 *
 * @param id
 * @return
 */
@Select("select * from catalog where id=#{id}")
@Results(id = "all", value = {          //all是别名,当多个方法同时用相同的注解时,相当于resultMap
        @Result(column = "id", property = "id", id = true), //相当于<resultMap>下面的<result>
        @Result(column = "title", property = "title"),  //相当于<resultMap>下面的<result>
        @Result(column = "pid", property = "pid"),
        @Result(column = "info", property = "info"),
        @Result(column = "id", property = "children", many = @Many(select = "selectByPid"))
})
Catalog select(int id);


  • 这个selectById 的方法同学也帖一下哦。注意不要贴在回复里,会失去代码的格式。可以在回答里贴一下。祝学习愉快。
    2019-07-26 15:59:13
好帮手慕阿莹 2019-07-26 11:44:16

同学你好,同学贴的是批量插入的代码,而同学调用的是select的代码,请同学在贴一下

select()的相关sql代码。

以及Catalog的实体类和数据库中的表数据。

并查看 一下控制台是否有报错?

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!


  • 提问者 Wchisper #1
    /** * 跟据id查询最高级分类 * * @param id * @return */ @Select("select * from catalog where id=#{id}") @Results(id = "all", value = { //all是别名,当多个方法同时用相同的注解时,相当于resultMap @Result(column = "id", property = "id", id = true), //相当于<resultMap>下面的<result> @Result(column = "title", property = "title"), //相当于<resultMap>下面的<result> @Result(column = "pid", property = "pid"), @Result(column = "info", property = "info"), @Result(column = "id", property = "children", many = @Many(select = "selectByPid")) }) Catalog select(int id);
    2019-07-26 13:33:28
  • 提问者 Wchisper #2
    控制台没有报错
    2019-07-26 15:52:44
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师