1. 程式人生 > >jdbc,mysql結合練習

jdbc,mysql結合練習

以及 sql jdbc 原因 。。 多條 wid lec amp

恩。。。這幾天做的一個階段性的個人項目,因為個人原因導致時間不夠,項目時間有點緊,做的不怎麽好。下面說說在這個項目中遇到的一些問題
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結合練習