zoukankan      html  css  js  c++  java
  • jdbc,mysql结合练习

      恩。。。这几天做的一个阶段性的个人项目,因为个人原因导致时间不够,项目时间有点紧,做的不怎么好。下面说说在这个项目中遇到的一些问题
      1. 实例化的问题,注意类的实例化以及传值的问题,不然容易出现空指针异常。
      2. 数据库的字段名问题,在进行操作时最好直接复制数据库中的字段名,否则可能因为字段名不同出现问题
      3. jdbc中数据库操作语句在换行时记得加上"," ,然后在语句前面加上空格 
      4. 在javabean中,如果一个A类中包含多个B类对象就有一个B类集合属性,如果A类只有一个B类,那么在Javabean中有一个B类对象作为A类属性
      5. 注意使用面向对象的思维,善于使用封装。
      基本上记得的就是这些,等以后想到了在补充。


    接下来是前面上课的时候的一些知识

    1. 结合项目练习数据库

    a. 时间类型的小问题(对时间要求不太精确可以在实体类中用string类型    精确的话就用date类型)

    b. com.biz包(bussiness的简写)或者是service;业务逻辑层也是放的接口,com.biz.impl业务逻辑包的实现类包,在这里调用dao包进行实现,或者业务逻辑,传入前段,前段就不用dao包,用的是biz写的东西,起到数据库以及前段中间的斜街作用

    c. ConnectionManager类放在com.util包中

    d. 在url后写上?Unicode=true&CharacterEncoding=UTF-8然后每次连接数据库取出时都是对应的字符编码

    e. ‘’ or 1=1 --  sql小漏洞  只能在statement使用这个漏洞 引出preparedstatement 预处理块

    f. Sql语句中的小细节:在where判断后字段名 = 值,也可以字段名 > 值等等

    运算符(算术,逻辑,比较)

    And 多个条件都需要满足

    Or多个条件一个条件满足就可以

    g. 注意sql语句的正确性

    h. 分页写法:select * from 表名 limit 0,5(从0开始显示5条数据 0是从多少开始显示  5是显示多少条)

    i. Select * from 表名 order by id desc     (根据id降序排列)

    j. 聚合函数(count sum avg maxmin)

    k. 在count(*) as c (说明下面调用时用c把count(*)代替了)

    l. 分页涉及到业务逻辑了    放在biz包

    m. Sql分组查询:group by分组之后select语句可以跟的列名只有聚合函数和group by分组后的字段名

    select count(*) asrenshu , 字段名 from 表名 group by 字段名

    返回的就是根据字段名分组的行数一一对应

    n.  分组之后再过滤 having 关键字

    select count(*) asrenshu , 字段名 from 表名 group by 字段名having renshu > =10

          返回的是分组之后再进行renshu>=10的数据
     
        o. 模糊字查询:like关键字加上%

    Select * from 表名 where 字段名 like 张% (查询表名中字段中以张开头的所有行)

    Select * from 表名 where 字段名 like %张% (查询表名中字段中有张这个字的所有行)

    p .  多条件查询拼接字符串,见下面截图 ,用if、判断语句

    图片

  • 相关阅读:
    VS2013中使用码云gitee建立源代码管理
    win10激活出现错误0xc004f074 解决方案
    List<string> 去重复 并且出现次数最多的排前面
    jQuery.extend(),jQuery.fn.extend() 区别
    js 获取范围内的随机数
    xslt/xpath对不存在属性的判断问题
    查询各科成绩不合格与合格人数
    微信开发之实现一键拨号及短信发送功能
    Git 常用命令
    Excel 表 导入导出
  • 原文地址:https://www.cnblogs.com/x-long/p/7712527.html
Copyright © 2011-2022 走看看