做B站XAdmin项目所遇bug记录

本文围绕XAdmin项目展开,介绍了项目中遇到的一系列问题及解决办法。包括添加中文字段报错、xml中参数类型检测不到user类、Mybatis使用问题、数据库连接池错误、mapper映射文件扫描问题、页面显示和数据传递问题等,为项目开发提供了实用的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

XAdmin项目

添加不了中文字段 报错 错误代码: 1366 Incorrect string value: ‘\xE5\xBC\xA0\xE4\xB8\x89’ for column

==解决:==ALTER TABLE USER CHANGE ch_name ch_name VARCHAR(50) CHARACTER SET utf8;

**xml中参数类型检测不到user类 **

解决:把type-aliases-package定位到user类所在目录即可

在Mybatis的mapper.xml文件中resultType的type或者paramterType会返回自定义entity,此时可以用全类名名来指定这些实体。
举例:

<select id="getUserInfoList" resultType="com.leo.model.UserInfo">
    SELECT
    <include refid="BaseSql"/>
    FROM USER_INFO WHERE 1=1
</select>
里面的resultType返回的就是全类名。

也可以使用type-aliases-package中指定entity扫描包类让mybatis自定扫描到自定义的entity。

IDEA mybatis 在service无法使用@Autowired , could not autowire

解决:这就是个bug

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): cn.zyt.mapper.UserMapper.getUser

解决:添加以下代码

方法二

因为mapper.xml在src\main\java下,而不是在resources下,导致target不能包含它们。

eclipse会自动把项目src\main\java\目录下的配置文件(.xml)和资源文件(.properties)搬运到target目录下,而IDEA默认是不会帮我们做这件事的配置结束一定要记得reload maven!!

<build>
    <resources>
        <resource>
            <directory>src/main/webapp</directory>
        </resource>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.xml</include>
            </includes>
        </resource>
    </resources>
</build>

**数据库连接池错误 **

解决:就是没配置好数据库地址 因为我们引入的mysql驱动默认是8.0 我的数据库是5.7会差8个小时 所以要在url里配置时区

之前配置的mapper-location扫描不到xml

解决方法:其实和上面错一样 这是方法1推荐使用

将mapper映射文件放在resources目录下,通常会在resources目录下建一个mapper目录,存放各种mapper的映射文件,

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uBTeIpxK-1667048299937)(C:\Users\asus\AppData\Roaming\Typora\typora-user-images\image-20220120213838605.png)]

并且在application.properties中配置 Mapper映射文件的路径为:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DzVS7ACl-1667048299944)(C:\Users\asus\AppData\Roaming\Typora\typora-user-images\image-20220120213849248.png)]

测试成功,查看target目录下,有xxxMapper.xml文件的编译结果。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zum1Z0RY-1667048299947)(C:\Users\asus\AppData\Roaming\Typora\typora-user-images\image-20220120213912377.png)]

**查不出三疯 **

在数据库url后面加   characterEncoding=utf8
因为我一开始数据库的编码格式不对

注意要经常查看过滤器 加了页面就进行查看 防止出错

页面显示一半

通过f12审查元素 看到整体的标签是

设置它的height即可

点击查询按钮 数据传递不过去

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-58HdkPCe-1667048299948)(C:\Users\asus\AppData\Roaming\Typora\typora-user-images\image-20220127160045721.png)]

解决 忘记加form了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LEQhY4aY-1667048299950)(C:\Users\asus\AppData\Roaming\Typora\typora-user-images\image-20220127191032633.png)]

Exception processing template “xxx“: Error resolving template [index], template might not exist or

解析不了 因为我们不是跳转页面 所以要加@responsebody

修改接口 成功不了 是因为我们复制的是新增页面 而新增页面的表格中没有id字段 所以要再取id字段

仔细再走一遍流程先

整个项目究竟是怎么运转的 到底该怎么弄

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值