浏览器报错 500

浏览器报错 500

<?
xml version
="1.0" 
encoding
="UTF-8"
?>

<!DOCTYPE
 
configuration

        
PUBLIC
 
"-//mybatis.org//DTD Config 3.4//EN"

        
"http://mybatis.org/dtd/mybatis-3-config.dtd"
>

<
configuration
>

    
<!--配置分页插件的拦截器-->

    
<
plugins
>

        
<
plugin 
interceptor
="com.github.pagehelper.PageInterceptor"
>

            
<
property 
name
="helperDialect" 
value
="mysql"
/>

            
<
property 
name
="reasonable" 
value
="true"
/>

        
</
plugin
>

    
</
plugins
>

    
<!--配置默认要使用的数据库环境-->

    
<
environments 
default
="development"
>

       
<!-- 配置数据库环境-->

        
<
environment 
id
="development"
>

            
<!--配置数据库的事务-->

            
<
transactionManager 
type
="JDBC"
/>

            
<!-- 配置链接数据库的相关参数-->

            
<
dataSource 
type
="POOLED"
>

                
<
property 
name
="driver" 
value
="com.mysql.cj.jdbc.Driver"
/>

                
<
property 
name
="url" 
value
="jdbc:mysql:///icake?serverTimezone=UTC
&amp;
characterEncoding=utf8
&amp;
useSSL=false
&amp;
rewriteBatchedStatements=true" 
/>

                
<
property 
name
="username" 
value
="root"
/>

                
<
property 
name
="password" 
value
="xd0000"
/>

            
</
dataSource
>

        
</
environment
>

    
</
environments
>

    
<!--配置扫描的包路径,底层自动给包里的接口实现实例化对象-->

    
<
mappers
>

        
<
package 
name
="com.imooc.icake.dao"
/>

    
</
mappers
>

</
configuration
>
package 
com.imooc.icake.dao;


import 
com.imooc.icake.entity.Catalog;

import 
org.apache.ibatis.annotations.*;


import 
java.util.List;


public interface 
CatalogDao {

    
/*批量插入*/

    
@Insert
(
"<script>" 
+

            
"insert into catalog(title,pid,info) values" 
+

            
"<foreach collection='list' item='catalog' separator=','>" 
+

            
"(#{catalog.title},#{catalog.pid},#{catalog.info})" 
+

            
"</foreach>" 
+

            
"</script>"
)

    
//配置数据库自增的一些属性

    
@Options
(useGeneratedKeys = 
true
,keyProperty = 
"id"
)

    
void 
batchInsert(List<Catalog> list);

   
/* 根据分类id删除*/

    
@Delete
(
"delete from catalog where id=#{id}"
)

    
void 
delete(
int 
id);

    
/*根据分类id查询分类*/

    
@Select
(
"select * from catalog where id=#{id}"
)

    
@Results
(id = 
"all"
,value = {

            
@Result
(column = 
"id"
,property = 
"id"
,id = 
true
),

            
@Result
(column = 
"title"
,property = 
"title"
),

            
@Result
(column = 
"pid"
,property = 
"pid"
),

            
@Result
(column = 
"info"
,property = 
"info"
),

            
@Result
(column = 
"id"
,property = 
"children"
,many = 
@Many
(select = 
"selectByPid"
))

    })

    Catalog select(
int 
id);

    
/*根据分类的父id查询分类*/

    
@Select
(
"select * from catalog where pid=#{pid}"
)

    
@ResultMap
(
"all"
)
//因为子类不会自动查询它的子类

    
List<Catalog> selectByPid(
int 
pid);

}
package 
com.imooc.icake.global;


import 
org.apache.ibatis.io.Resources;

import 
org.apache.ibatis.session.SqlSessionFactory;

import 
org.apache.ibatis.session.SqlSessionFactoryBuilder;


import 
java.io.IOException;


public class 
DaoFactory {

    
private static 
DaoFactory 
daoFactory
;

    
private 
SqlSessionFactory 
sessionFactory
;

    
private 
DaoFactory(){

       
/* 加载配置文件,获取sessionFactory*/

        
SqlSessionFactoryBuilder sessionFactoryBuilder = 
new 
SqlSessionFactoryBuilder();

        
try 
{

            
sessionFactory 
= sessionFactoryBuilder.build(Resources.
getResourceAsReader
(
"/mybatis.xml"
));

        } 
catch 
(IOException e) {

            e.printStackTrace();

        }

    }

   
/* 使用单例模式创建该类的实例对象*/

    /*静态代码块:在执行该类时会先执行static静态代码块,进行初始化操作*/

    
public static 
DaoFactory getInstence(){

        
if
(
daoFactory
==
null
)

            
daoFactory 
= 
new 
DaoFactory();

        
return 
daoFactory
;

    }

    
/*创建一个传入泛型类Dao的实例对象*/

    
public 
<
T
> 
T 
getDao(Class<
T
> tClass){

        
return 
sessionFactory
.openSession(
true
).getMapper(tClass);

    }


}
package 
com.imooc.icake.biz.impl;


import 
com.imooc.icake.biz.CatalogBiz;

import 
com.imooc.icake.dao.CatalogDao;

import 
com.imooc.icake.entity.Catalog;

import 
com.imooc.icake.global.DaoFactory;


import 
java.util.List;


public class 
CatalogBizImpl 
implements 
CatalogBiz {

   
/* 通过DAO工厂获取对应dao的实例对象*/

    
private 
CatalogDao 
catalogDao 
= DaoFactory.
getInstence
().getDao(CatalogDao.
class
);

   
/* 批量添加分类*/

    
public void 
add(List<Catalog> list) {

        
catalogDao
.batchInsert(list);

    }

   
/* 根据id删除分类*/

    
public void 
remove(
int 
id) {

        
catalogDao
.delete(id);

    }

    
/*获取id是10000的分类信息  (顶级分类主键的id)*/

    
public 
Catalog getRoot() {

        
return 
catalogDao
.select(
10000
);

    }

}

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

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

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

正在回答 回答被采纳积分+1

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

1回答
好帮手慕阿莹 2020-04-17 17:59:53

同学你好,

同学的报错不全,老师不好判断,请同学把报错信息贴全一些,控制台应该也会有相同的报错,可以粘一下控制器的报错。

祝学习愉快。

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

帮助反馈 APP下载

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

公众号

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

在线咨询

领取优惠

免费试听

领取大纲

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