新手增删改查时,遇到的坑和需要注意的问题

您所在的位置:网站首页 web数据库设计遇到的问题有哪些方面 新手增删改查时,遇到的坑和需要注意的问题

新手增删改查时,遇到的坑和需要注意的问题

2024-07-06 11:39| 来源: 网络整理| 查看: 265

增删改查:

编辑项目时; 用实体类接收前端参数,在dao层的参数上不要加@param注释,包括Map等集合,这样会导致xml文件的sql语句无法映射到参数的,而一般参数,例如Integer、String等参数,加上@param有益于映射,简单点说,就是加上他可以避免一些错误。 在这里插入图片描述 联表查询: 联表查询的时候,对于数据比实体类多的时候,首先判断是一对多,还是多对一或者多对多; 这样在xml文件上写二者关联的sql语句时,才能定义标签: 在这里插入图片描述 多对一:association 一对多: collection 一对多的情况下: 在一所对应的实体类中加入Listlist,因为一条数据对应多条数据,使用list封装 多对多的时候; 在各自对应的实体类中,加上对方的实体类,使用set封装,并且创建一个新的实体类pojo:加入每一个表对应的实体类, 例:User user;Children children;等等 多对一的情况下: 在多的表对应的实体类上加入一的表对应的实体类。 另外在联表查询的时候,所需要的功能需要编辑两张表,要将两个方法写在一起,一同操作两张表,保持两张表的一致性,使用@Transactional,事务 标签,当第一个方法运行成功过改好第一张表时,第二张表编辑失败,则会 发生意外事务自动回滚,让你重新从第一张表开始重新编辑,就是要成功一起编辑成功,要失败就一起编辑失败,保持事务的一致性。

运行程序时报错

通过Postman发送参数后,如果程序正常运行,那么问题一般出在Postman上,你需要检查地址、参数、发送格式等,写错一个字母都会报错,如果时后端项目的问题,一般都会又错误提示的。如果在项目中莫名其妙出现类加载方面的问题,首先Maven刷新下再说,在你新增加一些东西后,可能就是没刷新,所以程序才会说加载不到,找不到的。

另外,方法没问题,sql语句也是对的,但是传参测试的时候,就是会报系统参数类型不匹配错误: java.lang.IllegalArgumentException: argument type mismatch 这是由于mybatis-plus会自动插入一个id到实体对象, 默认是生成一个长数字字符串(编码不同可能结尾带有字母),不管你封装与否, 所以有时候导致一些意外的情况发生,解决的方法有: 1.修改id属性,换成Long类型,再长的数据也不怕 2.加上注解AUTO,提示数据库id自增: 在这里插入图片描述 具体解决方法链接,点击这里

Druid连接池

Druid首先是一个数据库连接池,但它不仅仅是一个数据库连接池,它还包含一个ProxyDriver,一系列内置的JDBC组件库,一个SQLParser。Druid支持所有JDBC兼容的数据库,包括Oracle、MySql、Derby、Postgresql、SQLServer、H2等等。 Druid针对Oracle和MySql做了特别优化,比如Oracle的PSCache内存占用优化,MySql的ping检测优化。Druid在监控、可扩展性、稳定性和性能方面都有明显的优势。Druid提供了Filter-Chain模式的扩展API,可以自己编写Filter拦截JDBC中的任何方法,可以在上面做任何事情,比如说性能监控、SQL审计、用户名密码加密、日志等等。 在这里插入图片描述

前端调用后端接口问题

后端数据返回前端时,要注意统一包装格式和下划线问题: 我们公司统一使用的是content格式,可以是用Mybatis-plus封装后,使用PageUtils.toPage()方法将文件以Content格式返回,但是会出现数据库下划线,例:user_name,导致前端需要调整才能接收返回的参数,当然也可以手调,特麻烦,所以最好还是使用Result的方法,一般情况下,为了方便项目返回时,告诉程序员返回成功还是失败,都会写一个统一的返回方法,里面就有各种格式返回的选择,就包括以什么格式的方式返回数据,这样就能避免格式和下划线的问题。 正常项目都有基本都是围绕Result命名,新手请注意。 在这里插入图片描述 在这里插入图片描述 后端注解:@Repository,写在dao层,@Repository注解,它用于将数据访问层 (DAO 层 ) 的类标识为 Spring Bean。具体只需将该注解标注在 DAO类上即可。同时,为了让 Spring 能够扫描类路径中的类并识别出 @Repository 注解,需要在 XML 配置文件中启用Bean 的自动扫描功能,这可以通过context:component-scan/实现。如下所示: 在这里插入图片描述 具体介绍链接,点这里

Idea重写方法的快捷键:Ctrl+O



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3