数据库CURD工作总结: MySQL数据库,结合MyBatis的使用

最近工作的小结


  • 索引 和 主键

  • insert into , insert ignore into, replace into

  • mybatis 注意 selective (xxxExampleSelective 和 xxxExamaple的区别)

  • 批量增删改查

  • 数据库操作需要优化,(可以用内存操作来代替频繁的操作数据库)

例如: user, userGroup , user_userGroup_relation 三张表

1 主键 id 到对象 Object 的映射

2 userGroup_id 到 List < User > 的映射

3 user_id 到 List < UserGroup > 的映射

宁可一次性查询大量数据(操作数据可一次,事实上,数据量在一个量级比较高的时候,数据库没有索引的时候,查询才会很慢,否则记录多,一次查询还是很快的,对比多次操作数据库,每次查询一点数据出来)

  • NPE(空指针错误)
    这个错误最常见了,所以使用对象,或 集合的时候一定要确保其不是 null (事先可以判断)

其次 集合 isEmpty() 方法也要是注意点, 比如 1 Mybatis In语句 就要求 List不能null , 不能为空,; 2 for语句这种 可以为empty 但不能为null


1 测试代码, 这个一定要有的,自己的方法自己测试,测试代码也考查能力,良好的测试代码编写能力 也是很重要的。 特别是有些表类似的数据库操作,复制粘贴多了,会麻木,所以多测测。

2 异常处理, 这是个大问题,抛异常, dao层,service层,controller怎么弄,异常类怎么封装。

3 表关联逻辑操作, 要封装这个业务逻辑。 删除是否是添加的逆过程? (这个也是犯错点)

4 事务的处理,要不要回滚,这个也是设计的考虑点;比如 批量插入,中间出错了两个,其它的插入成功,这个批量操作是否需要回滚。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值