返回顶部
首页 > 资讯 > 后端开发 > Python >Mybatis操作数据时出现:java.sql.SQLSyntaxErrorException: Unknown column 'XXX' in 'field list&
  • 112
分享到

Mybatis操作数据时出现:java.sql.SQLSyntaxErrorException: Unknown column 'XXX' in 'field list&

Python 官方文档:入门教程 => 点击学习

摘要

这个错误比较重要,而且很常见,故单独进行说明: mybatis出现:Unknown column 'xxx' in 'field list' 先来看一

这个错误比较重要,而且很常见,故单独进行说明:

mybatis出现:Unknown column 'xxx' in 'field list'

先来看一下程序的内部:

dao.addUser("ll111", "ll11");// 添加用户l main函数测试
//添加用户 成功1 失败0
    public int addUser(String userPhoneNumber, String userPassWord) throws ioException {
        //用户的 手机号,姓名(默认手机号),密码
        User user = new User(userPhoneNumber, userPhoneNumber, userPassword);
        int result = mapper.addUser(user);

        System.out.println(result);

        sqlSession.commit();
        return result;
    }
<!--    添加用户-->
    <insert id="addUser" parameterType="main.pojo.User">
        INSERT INTO user(user_phone_number, user_name, user_password)
        VALUES (${userPhoneNumber}, ${userName}, '${userPassword}');
    </insert>

错误原因:本身来说,三个字段都属于String类型,但是在使用Mybatis时由于用法的错误,致使出现上图的结果,即本来手机号和名字想作为字符串插入,但是xml里却当成了字段名。如果是整数还好,String可以解析整数并且转化为字符串,但是像字母和数字混合,编译器就无法识别。

本质上来说,是Mybatis使用上的错误,不熟悉,理解其实现机理所致。同样的问题,也会出现在其他语句中,所以在实现时注意数据传输的类型!!!

解决方法:也如上图xml代码所示,password的变量使用单引号括住,即可表示为字符串,所以实际上,应该这样写:

<!--    添加用户-->
    <insert id="addUser" parameterType="main.pojo.User">
        INSERT INTO user(user_phone_number, user_name, user_password)
        VALUES ('${userPhoneNumber}', '${userName}', '${userPassword}');
    </insert>

或者进行参数化表示:

<insert id="addUser" parameterType="main.pojo.User">
        INSERT INTO user(user_phone_number, user_name, user_password)
        VALUES (#{userPhoneNumber}, #{userName}, #{userPassword});
    </insert>

这种情况下,VALUES内容为VALUES(?,?,?) ,数据传入时自动进行数据类型识别并填充,则没有以上报错。

到此这篇关于Mybatis操作数据时出现:java.sql.SQLSyntaxErrorException: Unknown column 'XXX' in 'field list'的文章就介绍到这了,更多相关Mybatis出现:Unknown column 'xxx' in 'field list'内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Mybatis操作数据时出现:java.sql.SQLSyntaxErrorException: Unknown column 'XXX' in 'field list&

本文链接: https://lsjlt.com/news/209809.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作