SSM 后端开发(mybatis)

引言

        这篇文章主要记录后端开发中遇到的关于mybatis框架的一些问题

问题

        1、head_url与headUrl

        对实体进行建表的时候,对于实体的属性常常不会使用 ‘_’ 符号来命名,多采用小驼峰的方式

ublic class User {
    @JsonProperty("head_url")
    @Schema(name = "head_url", description = "头像", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String headUrl;
}

        但是在json数据中多采用 ‘_’ 符号来分割两个名词 

        前端发来的数据是以`head_url`的形式而后端user对象的属性是`headUrl`,使用JsonProperty来告诉Jackson序列化库在将对象转换为JSON时,使用`head_url`;

<insert id="addUser" parameterType="com.cloud.dto.entity.user.User">
    INSERT INTO
    user (username, password, name, phone, head_url)
    VALUES (
        #{username},
        #{password},
        #{name},
        #{phone},
        #{headUrl}
    )
</insert>

        上面的例子时一个插入sql,user后面的括号中需要使用head_url来匹配user实体中的注解,而#{headUrl}则对应的是user实体中的get/set headUrl方法。 

        2、根据id删除多条记录

        在mysql数据库中,可以通过sql语句中的`in`来对操作多条记录

DELETE
FROM
`user`
WHERE `user`.id IN (18, 19)

        但使用mybatis就需要用到一个特殊的语法—foreach

    <delete id="deleteUser" parameterType="java.util.List">
        DELETE
        FROM user
        WHERE user.id IN
        <foreach collection="userIds" item="id" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>

         将传给mybatis的参数使用collection接收,使用open、separator以及close解构集合数据,最后再通过foreach遍历

        3、Invalid bound statement (not found):com.cloud.mapper.evaluate.ProgramMapper. getProgramList

        这个问题大概的意思是mybatis无法mapper.xml文件,按照以下的顺序进行查看。

        1、查看文件结构是否正确,两个mapper目录中的组织形式要一致

        

        2、查看mapper中的函数名与mapper.xml中的id是否一致

        

        3、查看mapper、service、controller是否正确添加注释,分别没@Mapper、@Service、@RestController

        4、查看mapper.xml中的namespace是否与其本身的位置一致,我就是因为第一次创建xml文件的时候,将其放在了错误的位置,于是namespace中就是错误的路径,当调整xml文件的存放位置后,namespace并不会更改。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
邮件收发系统的设计与实现主要包括ssm(Spring+SpringMVC+Mybatis后端开发。该系统旨在提供用户高效地发送和接收电子邮件的功能。 首先,设计该系统的架构,使用SSM框架可以有效整合Spring、SpringMVC和Mybatis的优点,提高开发效率和系统的可维护性。首先,使用Spring框架来管理依赖注入和事务管理,简化开发流程。然后,利用SpringMVC来处理用户的请求和生成响应,实现前后端的数据交互。最后,通过Mybatis来实现数据持久化,提供对数据库的操作和查询。 其次,需要设计数据库结构来存储邮件相关的数据。可以创建邮件表、收件人表、发件人表等来存储邮件的详细信息和相关联系人信息。通过Mybatis进行数据库操作,可以方便地进行增删改查等操作。 接下来,实现各种功能模块。例如,用户登录模块,通过Mybatis从数据库中验证用户的账号和密码是否正确;邮件发送模块,用户可以填写邮件的主题、内容和收件人信息,通过调用邮件发送的API实现邮件的发送;邮件接收模块,用户可以查看收件箱、发件箱、草稿箱等邮件的详细信息,并支持邮件的删除、标记为已读等操作。 同时,为了增强系统的安全性,可以使用Spring Security框架来管理用户的权限和角色,提供身份验证和授权功能。只有经过身份验证的用户才能进行邮件的发送和接收操作。 最后,进行系统的测试和调试,确保系统的稳定性和正确性。可以使用单元测试和集成测试等方法对各个模块进行测试,及时发现和修复潜在的问题。 综上所述,邮件收发系统的设计与实现ssm后端开发需要结合Spring、SpringMVC和Mybatis框架,设计数据库结构,实现各个功能模块,并进行系统的测试和调试,以提供用户高效地发送和接收电子邮件的服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值