jdbc,mysql结合练习
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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、判断语句
以上是关于jdbc,mysql结合练习的主要内容,如果未能解决你的问题,请参考以下文章
Spring练习,使用Properties类型注入方式,注入MySQL数据库连接的基本信息,然后使用JDBC方式连接数据库,模拟执行业务代码后释放资源,最后在控制台输出打印结果。