团队冲刺第2天
昨天:完成了
图书信息的结构化设计,包括书籍名称、唯一ID、分类标签(如文学/科技/社科)、借阅状态(是否被借出)等字段。
通过RecyclerView展示图书列表,支持动态更新数据。
实现对话框交互逻辑,用户可通过表单添加或编辑图书信息,并实时同步到本地数据库。
技术问题与解决
数据库连接异常:手机端无法访问MySQL数据库,但电脑端正常。经排查发现:
防火墙规则阻断了移动设备的IP访问,通过添加白名单解决。
MySQL用户权限未授权手机IP访问,通过GRANT命令修正权限配置。
最终通过JDBC成功建立远程连接,确保数据实时同步。
今天:完善了完善查询功能
支持按书名、类型、借阅状态等多条件检索,优化搜索性能(如模糊查询)。
考虑加入排序功能(如按ID或书名排序)。
扩展管理员模块
实现管理员登录验证(如基于密码或指纹)。
开发借阅记录管理界面,显示历史操作日志。
遇到的问题:多表之间的互联出现了bug解决方法
当时直接想到的是加DISTINCT进行去重,效果确实能够达到且立竿见影,除此之外,也可以在语句末尾添加group by b_id来实现同样的效果。
但是不能只知其然,后来发现,是自己join的c表没有关联主键或者说是value唯一性的字段。
通过对该表以该字段查询后发现确实存在两行数据,换言之,如果在c表中查询该字段对应的数据后
即SELECT * FROM c WHERE c.network_id = '123456789';
结果显示数据有n行,那么根据笛卡尔积,left join 将会产生m * n条数据,会重复n倍。
总结
使用多表联查时尽量关联到主键上或者具有唯一约束的字段上,或者可以习惯性的加上DISTINCT来进行查询结果的去重.




浙公网安备 33010602011771号