ITOO3.1开发问题汇总(一)

第一次进入ITOO,第一次见识到整个架构,光搭建环境就出现了很多错误,5个人中3个为新手的我们,着实费了不少功夫,之后进入开发亦是如此。但总得有这个过程,我们在错误中长大,才更加茁壮。但过了一个阶段必须对以前进行总结,颗粒归仓。否则过一段时间就会忘掉,流失了。 这次主要看一下跟数据库相关的知识。

第1个问题:作为基础系统的一员,给其他系统提供必要的数据是必不可少的。但是总不能一条一条的插入吧?即使用sql语句也是如此。经过一番努力,成功找到一个方法:

① 先创建一个存储过程(使用Navicat链接的MySql,创建了1000条)

  1. DROP PROCEDURE
  2. IF EXISTS insert_courseInfo;
  3. DELIMITER ;
  4. CREATE PROCEDURE insert_courseInfo ()
  5. BEGIN
  6. DECLARE
  7. i INT DEFAULT 0 ;
  8. WHILE i < 1000 DO
  9. INSERT INTO `itoo_platform`.`tb_courseinfo` (
  10. `id`,
  11. `comment`,
  12. `operator`,
  13. `versionEndTime`,
  14. `versionStartTime`,
  15. `isDelete`,
  16. `remark`,
  17. `classHour`,
  18. `classPoint`,
  19. `courseCode`,
  20. `courseName`,
  21. `courseTypeId`,
  22. `institutionId`
  23. )
  24. VALUES
  25. (
  26. CONCAT(‘23‘, i),
  27. ‘吴利昌添加‘,
  28. ‘吴利昌‘,
  29. ‘2015-07-06 15:49:28‘,
  30. ‘2015-07-06 15:49:37‘,
  31. ‘0‘,
  32. ‘吴利昌添加‘,
  33. ‘18‘,
  34. ‘4‘,
  35. CONCAT(‘05‘, i),
  36. ‘材料化学‘,
  37. ‘1‘,
  38. ‘2‘
  39. ) ;
  40. SET i = i + 1 ;
  41. END
  42. WHILE ;
  43. END

② 然后新建一个查询,调用该存储过程

  1. CALL insert_courseInfo();

③ 执行时间(1000条数据)

CALL insert_courseInfo();

Affected rows: 1

Time: 42.112s

④ 执行结果

其实主要是对CONCAT函数的使用,它可以将字符串与数字进行结合,非常方便。

第2个问题:删除一条数据之后进行有条件分页模糊查询的时候还能查出来,无条件查询则不会查出来。底层方法应该没问题,但仔细看了看我的有条件分页模糊查询也没啥问题。通过把源代码下载下来,逐步跟踪,终于发现了问题所在:

    1. 我现在的代码

        1. pageEntity.setSelectContent("p.institutionId,p.id,p.institution.institutionName,p.remark,p.maxPeople,p.professionalCode,p.professionalName");
        2. pageEntity.setSelectWhere("p.professionalName like ‘%" + conditions
        3. + "%‘ or p.institution.institutionName like ‘%" + conditions
        4. + "%‘ or p.professionalCode like ‘%" + conditions + "%‘ or p.remark like ‘%"+conditions+"%‘");
    2. 生成的sql语句
        1. SELECT p.institutionId,p.id,p.institution.institutionName,p.remark,p.maxPeople,p.professionalCode,p.professionalName From Professional p where p.isDelete = 0 and p.professionalName like ‘%化学%‘ or p.institution.institutionName like ‘%化学%‘ or p.professionalCode like ‘%化学%‘ or p.remark like ‘%化学%‘
    3. 问题:
      1. 注意生成的sql语句中where后面的条件,and与后面的or应该为一个查询条件,而这条sql语句将会分为两个条件:or和and,这样查出来的数据肯定会查出来isDelete为1的情况。
    4. 解决方法
      1. 应该给and后面的条件加上括号:(),在代码中的setSelectWhere中字符串用括号()括起来
        1. pageEntity.setSelectContent("p.institutionId,p.id,p.institution.institutionName,p.remark,p.maxPeople,p.professionalCode,p.professionalName");
        2. pageEntity.setSelectWhere("(p.professionalName like ‘%" + conditions
        3. + "%‘ or p.institution.institutionName like ‘%" + conditions
        4. + "%‘ or p.professionalCode like ‘%" + conditions + "%‘ or p.remark like ‘%"+conditions+"%‘)");
    5. 另外一个问题
      1. 由于底层已经写上了isDelete=0的查询条件,而且跟着and关键字,如果 setSelectWhere中的内容不写的话,sql语句会报错的。。。写上的话,生成的sql语句会有两个isDelete=0...底层方法封装还是有些不完美~不过已经相当不错了,更多的时候我们直接即可,非常方便。

遇到问题不怕,怕的是一直困在一个思路上,一旦钻了牛角尖,不仅浪费大量的时间,也很影响项目的进展。所以,要给自己规定一定的时间,比如1个小时,如果做不出来就尽快找人。在时间如此紧张的情况下,学习需要放到次席。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-10 21:30:33

ITOO3.1开发问题汇总(一)的相关文章

cocos2dx-lua+cocosbuilder开发问题汇总1

mac 10.9.1 xcode 5.0.2 cocos2dx 2.2.2 cocosBuilder 3.0-alpha5 问题1. 每次脚本有改动,Xcode都要清理. 问题2.Get data from file(.ccbi) failed! 问题3.attempt to call field 'setPosition' (a nil value) 定义: local MainScene =class("MainScene", function() return CCLayer:c

Windows 8.1 应用开发文章汇总

Windows 8.1 应用再出发 - C# + XAML  1. Windows 8.1 应用再出发 - 创建我的第一个应用 2. Windows 8.1 应用再出发 - 几种常用控件 3. Windows 8.1 应用再出发 - 几种布局控件 4. Windows 8.1 应用再出发 -  几种新增控件(1) 5. Windows 8.1 应用再出发 - 几种新增控件(2) 6. Windows 8.1 应用再出发 - 几种更新的控件 7. Windows 8.1 应用再出发 - 磁贴的更新

SAE Java开发问题汇总

转自:http://binary.duapp.com/2012/10/275.html 1.sae上传了war后不报错,却出现一片空白: 原因:上传war包不能包含servlet-api和xmlsec相关jar包 详情参看:http://sae.sina.com.cn/?m=devcenter&catId=233&content_id=292 2.session无效? 原因:如果要使用分布式session功能,需在war包中的web.xml中增加一个元素<distributable/

Kinect开发资源汇总

Kinect开发资源汇总   转自: http://www.sigvc.org/bbs/forum.php?mod=viewthread&tid=254&highlight=kinect By doctorimage整理 开发Kinect应用本质上和开发其他Windows应用一样,不同的是该SDK支持Kinect感应器的相关功能,比如彩色图像.深度图像.音频.骨骼动画数据等. 本文整理了Kinect应用开发的相关资源,如果你正在进行Kinect开发或打算进行Kinect开发,这将对你有很大

安卓开发工具汇总,开发人员必备利器

安卓开发工具汇总,开发人员必备!安卓开发过程中需要用到各种工具,作为一名安卓开发人员,有木有感到亚历山大,那么多工具!今天给大家汇总了一下安卓开发工具,安卓开发人员必备利器! 1.Draw 9-Patch 这个九宫格绘画安卓开发工具(draw9patch.bat)可以让你很容易的通过一个所见即所得(WYS|WYG)的编辑器来创建一个九宫格NinePatch图. 2.ProGuard ProGuard 是一个免费的 Java类文件的压缩,优化,混肴器.它删除没有用的类,字段,方法与属性.使字节码最

Silverlight开发工具汇总

Silverlight开发工具汇总 随着Silverlight技术的逐步完善,Silverlight应用大批的涌现,近期的2010年冬季奥运会,Silverlight作为首选视频播放技术,为全球提供在线赛事实况. Silverlight技术的发展需要更多的开发人员加入,作为Silverlight技术的支持者,我把平时Silverlight开发使用的工具进 随着Silverlight技术的逐步完善,Silverlight应用大批的涌现,近期的2010年冬季奥运会,Silverlight作为首选视频

Android 开发大坑汇总(持续更新)

android开发大坑汇总 1.EditText --> gravity与hint冲突 表现在2.X版本当在EditText设置android:gravity="center"属性后,android:hint会无效. 解决办法:再添加android:ellipsize="start"就会好了. 感觉:很无厘头的大坑,记住吧!要不旧机子就只有显示不出来的份. 2.DatePickerDialog --> 时间超过最大值变为最小时间时显示出错. 解决办法:暂

微信小程序最新开发资源汇总,对学习微信小程序的新手有一定帮助

微信小程序最新开发资源汇总,希望给想学习或正在学习微信小程序开发的同学们带来一定帮助,汇总的小程序资源有点繁杂,各种类型的小程序demo都有,大家可以选择自己想要的demo进行下载学习.这些微信小程序资源大多是整理自github,如果可以,希望大家能够给github上的原作者一颗star,感谢原作者的无私奉献. 这里整理的是资源的原帖子,下载链接也在帖子里,当然本人也只体验了部分demo,有兴趣的同学可以都下载试试. 下载地址: 仿微信聊天,朋友圈小程序源码wepy框架开发的小程序商城源码,功能

【IOS】Mac和IOS开发资源汇总

本文主要汇集一些苹果开发的资源,会经常更新,建议大家把这篇文章单独收藏(在浏览器中按**command+D**). 今天收录了许多中文网站和博客.大家一定要去感受一下哦. 如果大家有知道不错的站点,可以告诉我.  目录 1.苹果官方文档 2.邮件列表 3.论坛 4.网站 5.博客 6.大会 7.播客和录像 正文 1.苹果官方文档 构建iOS程序:下面的这篇文章介绍了 iOS 程序开发的过程: Start Developing iOS Apps Today 构建Mac OS X程序:下面这篇文章介