發生條件:
in語法,裡面超過 1000 個要查詢內容
例如
Select * from tablename where col in (‘col1’,’col2’ ……..)
要避開這個問題發生,可以考慮使用:
(1).Union語法:
select * from student
where id in ('1147', '1148', '1149', '1151', '1152', '1154', ...)
union
select * from student
where id in ('1157', '1158', '1159', '1161', '1162', '1164', ...)
(2).創建一個臨時Temp,將這些查詢資料,放進來這個臨時Temp:
select * from student where id in (select id from tmp_XX);
(3)將in 的語法拆開成數段
Select * from tablename where col in (‘col1’,’col2’ …….., ‘col1000’) or col in (‘col1001’, …………)
2014年1月9日 星期四
2014年1月7日 星期二
Eclipse 常用快捷鍵
常用:
ctrl+/ 註解
ctrl+\ 取消註解
ctrl+o 快速搜尋method
ctrl+e 快速切換分頁
ctrl+h 搜尋資料
ctrl+k 搜尋相同資料 +shift(上一個)
ctrl+g 工作中申明
ctrl+. 下一個錯誤
ctrl+1 快速修正
ctrl+q 回到最後編輯行
ctrl+t 查看類別結構
ctrl+m 放大編輯視窗
ctrl+shift+/ 多行註解
ctrl+shift+\ 取消多行註解
ctrl+shift+r 搜尋檔案
ctrl+shift+i 顯示變數資訊
ctrl+shift+g 參照搜尋
ctrl+shift+p 找對應括號
ctrl+shift+l 查看其他快捷鍵
ctrl+shift+f 格式化程式碼
ctrl+shift+o 引入package(all)
ctrl+shift+m 引入package
ctrl+alt+h 查詢引用
ctrl+alt+s svn
alt+up or down 當行上下移
其他:
參照自 Eclipse 快捷鍵大全
Ctrl+1 快速修復(最經典的快速鍵,就不用多說了)
Ctrl+D: 刪除當前行
Ctrl+Alt+↓ 複製當前行到下一行(複製增加)
Ctrl+Alt+↑ 複製當前行到上一行(複製增加)
Alt+↓ 當前行和下面一行交互位置(特別實用,可以省去先剪切,再粘貼了)
Alt+↑ 當前行和上面一行交互位置(同上)
Alt+← 前一個編輯的頁面
Alt+→ 下一個編輯的頁面(當然是針對上面那條來說了)
Alt+Enter 顯示當前選擇資源(工程,or 檔 or檔)的屬性
Shift+Enter 在當前行的下一行插入空行(這時滑鼠可以在當前行的任一位置,不一定是最後)
Shift+Ctrl+Enter 在當前行插入空行(原理同上條)
Ctrl+Q 定位到最後編輯的地方
Ctrl+L 定位在某行 (對於程式超過100的人就有福音了)
Ctrl+M 最大化當前的Edit或View (再按則反之)
Ctrl+/ 注釋當前行,再按則取消注釋
Ctrl+O 快速顯示 OutLine
Ctrl+T 快速顯示當前類的繼承結構
Ctrl+W 關閉當前Editer
Ctrl+K 參照選中的Word快速定位到下一個
Ctrl+E 快速顯示當前Editer的下拉清單(如果當前頁面沒有顯示的用黑體表示)
Ctrl+/(小鍵盤) 折疊當前類中的所有代碼
Ctrl+×(小鍵盤) 展開當前類中的所有代碼
Ctrl+Space 代碼助手完成一些代碼的插入(但一般和輸入法有衝突,可以修改輸入法的熱鍵,也可以暫用Alt+/來代替)
Ctrl+Shift+E 顯示管理當前打開的所有的View的管理器(可以選擇關閉,啟動等操作)
Ctrl+J 正向增量查找(按下Ctrl+J後,你所輸入的每個字母編輯器都提供快速匹配定位到某個單詞,如果沒有,則在stutes line中顯示沒有找到了,查一個單詞時,特別實用,這個功能Idea兩年前就有了)
Ctrl+Shift+J 反向增量查找(和上條相同,只不過是從後往前查)
Ctrl+Shift+F4 關閉所有打開的Editer
Ctrl+Shift+X 把當前選中的文本全部變味小寫
Ctrl+Shift+Y 把當前選中的文本全部變為小寫
Ctrl+Shift+F 格式化當前代碼
Ctrl+Shift+P 定位到對於的匹配符(譬如{}) (從前面定位後面時,游標要在匹配符裡面,後面到前面,則反之)
下面的快速鍵是重構裡面常用的,本人就自己喜歡且常用的整理一下(注:一般重構的快速鍵都是Alt+Shift開頭的了)
Alt+Shift+R 重命名 (是我自己最愛用的一個了,尤其是變數和類的Rename,比手工方法能節省很多勞動力)
Alt+Shift+M 抽取方法 (這是重構裡面最常用的方法之一了,尤其是對一大堆泥團代碼有用)
Alt+Shift+C 修改函數結構(比較實用,有N個函式呼叫了這個方法,修改一次搞定)
Alt+Shift+L 抽取本地變數( 可以直接把一些魔法數位和字串抽取成一個變數,尤其是多處調用的時候)
Alt+Shift+F 把Class中的local變數變為field變數 (比較實用的功能)
Alt+Shift+I 合併變數(可能這樣說有點不妥Inline)
Alt+Shift+V 移動函數和變數(不怎麼常用)
Alt+Shift+Z 重構的後悔藥(Undo)
編輯
作用域 功能 快速鍵
全域 查找並替換 Ctrl+F
文字編輯器 查找上一個 Ctrl+Shift+K
文字編輯器 查找下一個 Ctrl+K
全域 撤銷 Ctrl+Z
全域 複製 Ctrl+C
全域 恢復上一個選擇 Alt+Shift+↓
全域 剪切 Ctrl+X
全域 快速修正 Ctrl1+1
全域 內容輔助 Alt+/
全域 全部選中 Ctrl+A
全域 刪除 Delete
全域 上下文資訊 Alt+?
Alt+Shift+?
Ctrl+Shift+Space
Java編輯器 顯示工具提示描述 F2
Java編輯器 選擇封裝元素 Alt+Shift+↑
Java編輯器 選擇上一個元素 Alt+Shift+←
Java編輯器 選擇下一個元素 Alt+Shift+→
文字編輯器 增量查找 Ctrl+J
文字編輯器 增量逆向查找 Ctrl+Shift+J
全域 粘貼 Ctrl+V
全域 重做 Ctrl+Y
查看
作用域 功能 快速鍵
全域 放大 Ctrl+=
全域 縮小 Ctrl+-
窗口
作用域 功能 快速鍵
全域 啟動編輯器 F12
全域 切換編輯器 Ctrl+Shift+W
全域 上一個編輯器 Ctrl+Shift+F6
全域 上一個視圖 Ctrl+Shift+F7
全域 上一個透視圖 Ctrl+Shift+F8
全域 下一個編輯器 Ctrl+F6
全域 下一個視圖 Ctrl+F7
全域 下一個透視圖 Ctrl+F8
文字編輯器 顯示尺規上下文功能表 Ctrl+W
全域 顯示視圖功能表 Ctrl+F10
全域 顯示系統功能表 Alt+-
導航
作用域 功能 快速鍵
Java編輯器 打開結構 Ctrl+F3
全域 打開類型 Ctrl+Shift+T
全域 打開類型層次結構 F4
全域 打開聲明 F3
全域 打開外部javadoc Shift+F2
全域 打開資源 Ctrl+Shift+R
全域 後退歷史記錄 Alt+←
全域 前進歷史記錄 Alt+→
全域 上一個 Ctrl+,
全域 下一個 Ctrl+.
Java編輯器 顯示大綱 Ctrl+O
全域 在層次結構中打開類型 Ctrl+Shift+H
全域 轉至匹配的括弧 Ctrl+Shift+P
全域 轉至上一個編輯位置 Ctrl+Q
Java編輯器 轉至上一個成員 Ctrl+Shift+↑
Java編輯器 轉至下一個成員 Ctrl+Shift+↓
文字編輯器 轉至行 Ctrl+L
搜索
作用域 功能 快速鍵
全域 出現在檔中 Ctrl+Shift+U
全域 打開搜索對話方塊 Ctrl+H
全域 工作區中的聲明 Ctrl+G
全域 工作區中的引用 Ctrl+Shift+G
文本編輯
作用域 功能 快速鍵
文字編輯器 改寫切換 Insert
文字編輯器 上滾行 Ctrl+↑
文字編輯器 下滾行 Ctrl+↓
文件
作用域 功能 快速鍵
全域 保存 Ctrl+X
Ctrl+S
全域 列印 Ctrl+P
全域 關閉 Ctrl+F4
全域 全部保存 Ctrl+Shift+S
全域 全部關閉 Ctrl+Shift+F4
全域 屬性 Alt+Enter
全域 新建 Ctrl+N
項目
作用域 功能 快速鍵
全域 全部構建 Ctrl+B
原始程式碼
作用域 功能 快速鍵
Java編輯器 格式化 Ctrl+Shift+F
Java編輯器 取消注釋 Ctrl+\
Java編輯器 注釋 Ctrl+/
Java編輯器 添加導入 Ctrl+Shift+M
Java編輯器 組織導入 Ctrl+Shift+O
Java編輯器 使用try/catch塊來包圍 未設置,太常用了,所以在這裡列出,建議自己設置。
也可以使用Ctrl+1自動修正。
運行
作用域 功能 快速鍵
全域 單步返回 F7
全域 單步跳過 F6
全域 單步跳入 F5
全域 單步跳入選擇 Ctrl+F5
全域 調試上次啟動 F11
全域 繼續 F8
全域 使用篩檢程式單步執行 Shift+F5
全域 添加/去除中斷點 Ctrl+Shift+B
全域 顯示 Ctrl+D
全域 運行上次啟動 Ctrl+F11
全域 運行至行 Ctrl+R
全域 執行 Ctrl+U
重構
作用域 功能 快速鍵
全域 撤銷重構 Alt+Shift+Z
全域 抽取方法 Alt+Shift+M
全域 抽取區域變數 Alt+Shift+L
全域 內聯 Alt+Shift+I
全域 移動 Alt+Shift+V
全域 重命名 Alt+Shift+R
全域 重做 Alt+Shift+Y
像 VS 系列一樣的 Content Assist
預設是 " . " 或是自己使用 ALT+ ? 才會出現
要修改設定:
Window -> Preferences -> Java/Editor/Content Assist
在「Auto Activation triggers for java」 從 . 改為
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz =.(!+-*/~,[{@#$%^&
如此一來就像VS 一樣打一個字就有囉
相關資源:
Eclipse快捷键 10个最有用的快捷键
Eclipse 開發小技巧 - 程式範本
★ Eclipse 3.0 RC2 熱鍵表 (中英對照版,Default) ★
【上古秘籍】之Eclipse的秘籍
ctrl+/ 註解
ctrl+\ 取消註解
ctrl+o 快速搜尋method
ctrl+e 快速切換分頁
ctrl+h 搜尋資料
ctrl+k 搜尋相同資料 +shift(上一個)
ctrl+g 工作中申明
ctrl+. 下一個錯誤
ctrl+1 快速修正
ctrl+q 回到最後編輯行
ctrl+t 查看類別結構
ctrl+m 放大編輯視窗
ctrl+shift+/ 多行註解
ctrl+shift+\ 取消多行註解
ctrl+shift+r 搜尋檔案
ctrl+shift+i 顯示變數資訊
ctrl+shift+g 參照搜尋
ctrl+shift+p 找對應括號
ctrl+shift+l 查看其他快捷鍵
ctrl+shift+f 格式化程式碼
ctrl+shift+o 引入package(all)
ctrl+shift+m 引入package
ctrl+alt+h 查詢引用
ctrl+alt+s svn
alt+up or down 當行上下移
其他:
參照自 Eclipse 快捷鍵大全
Ctrl+1 快速修復(最經典的快速鍵,就不用多說了)
Ctrl+D: 刪除當前行
Ctrl+Alt+↓ 複製當前行到下一行(複製增加)
Ctrl+Alt+↑ 複製當前行到上一行(複製增加)
Alt+↓ 當前行和下面一行交互位置(特別實用,可以省去先剪切,再粘貼了)
Alt+↑ 當前行和上面一行交互位置(同上)
Alt+← 前一個編輯的頁面
Alt+→ 下一個編輯的頁面(當然是針對上面那條來說了)
Alt+Enter 顯示當前選擇資源(工程,or 檔 or檔)的屬性
Shift+Enter 在當前行的下一行插入空行(這時滑鼠可以在當前行的任一位置,不一定是最後)
Shift+Ctrl+Enter 在當前行插入空行(原理同上條)
Ctrl+Q 定位到最後編輯的地方
Ctrl+L 定位在某行 (對於程式超過100的人就有福音了)
Ctrl+M 最大化當前的Edit或View (再按則反之)
Ctrl+/ 注釋當前行,再按則取消注釋
Ctrl+O 快速顯示 OutLine
Ctrl+T 快速顯示當前類的繼承結構
Ctrl+W 關閉當前Editer
Ctrl+K 參照選中的Word快速定位到下一個
Ctrl+E 快速顯示當前Editer的下拉清單(如果當前頁面沒有顯示的用黑體表示)
Ctrl+/(小鍵盤) 折疊當前類中的所有代碼
Ctrl+×(小鍵盤) 展開當前類中的所有代碼
Ctrl+Space 代碼助手完成一些代碼的插入(但一般和輸入法有衝突,可以修改輸入法的熱鍵,也可以暫用Alt+/來代替)
Ctrl+Shift+E 顯示管理當前打開的所有的View的管理器(可以選擇關閉,啟動等操作)
Ctrl+J 正向增量查找(按下Ctrl+J後,你所輸入的每個字母編輯器都提供快速匹配定位到某個單詞,如果沒有,則在stutes line中顯示沒有找到了,查一個單詞時,特別實用,這個功能Idea兩年前就有了)
Ctrl+Shift+J 反向增量查找(和上條相同,只不過是從後往前查)
Ctrl+Shift+F4 關閉所有打開的Editer
Ctrl+Shift+X 把當前選中的文本全部變味小寫
Ctrl+Shift+Y 把當前選中的文本全部變為小寫
Ctrl+Shift+F 格式化當前代碼
Ctrl+Shift+P 定位到對於的匹配符(譬如{}) (從前面定位後面時,游標要在匹配符裡面,後面到前面,則反之)
下面的快速鍵是重構裡面常用的,本人就自己喜歡且常用的整理一下(注:一般重構的快速鍵都是Alt+Shift開頭的了)
Alt+Shift+R 重命名 (是我自己最愛用的一個了,尤其是變數和類的Rename,比手工方法能節省很多勞動力)
Alt+Shift+M 抽取方法 (這是重構裡面最常用的方法之一了,尤其是對一大堆泥團代碼有用)
Alt+Shift+C 修改函數結構(比較實用,有N個函式呼叫了這個方法,修改一次搞定)
Alt+Shift+L 抽取本地變數( 可以直接把一些魔法數位和字串抽取成一個變數,尤其是多處調用的時候)
Alt+Shift+F 把Class中的local變數變為field變數 (比較實用的功能)
Alt+Shift+I 合併變數(可能這樣說有點不妥Inline)
Alt+Shift+V 移動函數和變數(不怎麼常用)
Alt+Shift+Z 重構的後悔藥(Undo)
編輯
作用域 功能 快速鍵
全域 查找並替換 Ctrl+F
文字編輯器 查找上一個 Ctrl+Shift+K
文字編輯器 查找下一個 Ctrl+K
全域 撤銷 Ctrl+Z
全域 複製 Ctrl+C
全域 恢復上一個選擇 Alt+Shift+↓
全域 剪切 Ctrl+X
全域 快速修正 Ctrl1+1
全域 內容輔助 Alt+/
全域 全部選中 Ctrl+A
全域 刪除 Delete
全域 上下文資訊 Alt+?
Alt+Shift+?
Ctrl+Shift+Space
Java編輯器 顯示工具提示描述 F2
Java編輯器 選擇封裝元素 Alt+Shift+↑
Java編輯器 選擇上一個元素 Alt+Shift+←
Java編輯器 選擇下一個元素 Alt+Shift+→
文字編輯器 增量查找 Ctrl+J
文字編輯器 增量逆向查找 Ctrl+Shift+J
全域 粘貼 Ctrl+V
全域 重做 Ctrl+Y
查看
作用域 功能 快速鍵
全域 放大 Ctrl+=
全域 縮小 Ctrl+-
窗口
作用域 功能 快速鍵
全域 啟動編輯器 F12
全域 切換編輯器 Ctrl+Shift+W
全域 上一個編輯器 Ctrl+Shift+F6
全域 上一個視圖 Ctrl+Shift+F7
全域 上一個透視圖 Ctrl+Shift+F8
全域 下一個編輯器 Ctrl+F6
全域 下一個視圖 Ctrl+F7
全域 下一個透視圖 Ctrl+F8
文字編輯器 顯示尺規上下文功能表 Ctrl+W
全域 顯示視圖功能表 Ctrl+F10
全域 顯示系統功能表 Alt+-
導航
作用域 功能 快速鍵
Java編輯器 打開結構 Ctrl+F3
全域 打開類型 Ctrl+Shift+T
全域 打開類型層次結構 F4
全域 打開聲明 F3
全域 打開外部javadoc Shift+F2
全域 打開資源 Ctrl+Shift+R
全域 後退歷史記錄 Alt+←
全域 前進歷史記錄 Alt+→
全域 上一個 Ctrl+,
全域 下一個 Ctrl+.
Java編輯器 顯示大綱 Ctrl+O
全域 在層次結構中打開類型 Ctrl+Shift+H
全域 轉至匹配的括弧 Ctrl+Shift+P
全域 轉至上一個編輯位置 Ctrl+Q
Java編輯器 轉至上一個成員 Ctrl+Shift+↑
Java編輯器 轉至下一個成員 Ctrl+Shift+↓
文字編輯器 轉至行 Ctrl+L
搜索
作用域 功能 快速鍵
全域 出現在檔中 Ctrl+Shift+U
全域 打開搜索對話方塊 Ctrl+H
全域 工作區中的聲明 Ctrl+G
全域 工作區中的引用 Ctrl+Shift+G
文本編輯
作用域 功能 快速鍵
文字編輯器 改寫切換 Insert
文字編輯器 上滾行 Ctrl+↑
文字編輯器 下滾行 Ctrl+↓
文件
作用域 功能 快速鍵
全域 保存 Ctrl+X
Ctrl+S
全域 列印 Ctrl+P
全域 關閉 Ctrl+F4
全域 全部保存 Ctrl+Shift+S
全域 全部關閉 Ctrl+Shift+F4
全域 屬性 Alt+Enter
全域 新建 Ctrl+N
項目
作用域 功能 快速鍵
全域 全部構建 Ctrl+B
原始程式碼
作用域 功能 快速鍵
Java編輯器 格式化 Ctrl+Shift+F
Java編輯器 取消注釋 Ctrl+\
Java編輯器 注釋 Ctrl+/
Java編輯器 添加導入 Ctrl+Shift+M
Java編輯器 組織導入 Ctrl+Shift+O
Java編輯器 使用try/catch塊來包圍 未設置,太常用了,所以在這裡列出,建議自己設置。
也可以使用Ctrl+1自動修正。
運行
作用域 功能 快速鍵
全域 單步返回 F7
全域 單步跳過 F6
全域 單步跳入 F5
全域 單步跳入選擇 Ctrl+F5
全域 調試上次啟動 F11
全域 繼續 F8
全域 使用篩檢程式單步執行 Shift+F5
全域 添加/去除中斷點 Ctrl+Shift+B
全域 顯示 Ctrl+D
全域 運行上次啟動 Ctrl+F11
全域 運行至行 Ctrl+R
全域 執行 Ctrl+U
重構
作用域 功能 快速鍵
全域 撤銷重構 Alt+Shift+Z
全域 抽取方法 Alt+Shift+M
全域 抽取區域變數 Alt+Shift+L
全域 內聯 Alt+Shift+I
全域 移動 Alt+Shift+V
全域 重命名 Alt+Shift+R
全域 重做 Alt+Shift+Y
像 VS 系列一樣的 Content Assist
預設是 " . " 或是自己使用 ALT+ ? 才會出現
要修改設定:
Window -> Preferences -> Java/Editor/Content Assist
在「Auto Activation triggers for java」 從 . 改為
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz =.(!+-*/~,[{@#$%^&
如此一來就像VS 一樣打一個字就有囉
相關資源:
Eclipse快捷键 10个最有用的快捷键
Eclipse 開發小技巧 - 程式範本
★ Eclipse 3.0 RC2 熱鍵表 (中英對照版,Default) ★
【上古秘籍】之Eclipse的秘籍
2013年12月27日 星期五
HDD 硬碟資料救援相關方式!!!!!! 超重要
大概分為三種情況,提供各種參考方式
1.分割區不見,突然由 NFTS 變為 RAW
復原方式:
(1) http://jimsung168.blogspot.tw/2012/09/raw-partition-solution-rawntfs.html ==> 簡單好用
(2) http://mokanote.com/hdd-raw-ntfs-fat32 ==> 與第一種方式相同
(3) http://g-egg.blogspot.tw/2010/01/raw.html
(4) http://mimihsiang0807.blogspot.tw/2013/01/raw.html
2.硬碟不只分割區不見,容量還變少(如 1T 變成 3xM)
復原方式:
(1) http://blog.yam.com/michaleeeee/article/37628779
3.誤刪分割區 or 誤刪資料
復原方式:
(1) http://www.techbang.com/posts/6068--drj-saved-accidentally-deleted-partition
(2) http://snotyboy.blogspot.tw/2012/03/raw.html
PS.製作復原工具 USB
參考資料:
http://jimsung168.blogspot.tw/2012/09/hirens-boot-cd.html
http://www.hiren.info/pages/bootcd-on-usb-disk ==> 有名的開機光碟製作成USB版本
1.分割區不見,突然由 NFTS 變為 RAW
復原方式:
(1) http://jimsung168.blogspot.tw/2012/09/raw-partition-solution-rawntfs.html ==> 簡單好用
(2) http://mokanote.com/hdd-raw-ntfs-fat32 ==> 與第一種方式相同
(3) http://g-egg.blogspot.tw/2010/01/raw.html
(4) http://mimihsiang0807.blogspot.tw/2013/01/raw.html
2.硬碟不只分割區不見,容量還變少(如 1T 變成 3xM)
復原方式:
(1) http://blog.yam.com/michaleeeee/article/37628779
3.誤刪分割區 or 誤刪資料
復原方式:
(1) http://www.techbang.com/posts/6068--drj-saved-accidentally-deleted-partition
(2) http://snotyboy.blogspot.tw/2012/03/raw.html
PS.製作復原工具 USB
參考資料:
http://jimsung168.blogspot.tw/2012/09/hirens-boot-cd.html
http://www.hiren.info/pages/bootcd-on-usb-disk ==> 有名的開機光碟製作成USB版本
2013年12月13日 星期五
Spring Framwwork 各版本 jar 下載 及簡易範例
下載位置:
http://mvnrepository.com/artifact/org.springframework
or
http://sourceforge.net/projects/springframework/files/
裡面包含單一檔案 和 整合(spring-full)版本
DTD檔下載位置
http://www.springframework.org/dtd/
bean.xml 抬頭設置
簡易範例:
---SpringTest.java
package spring001;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
public class SpringTest {
public static void main(String[] args) {
ApplicationContext ctx = new FileSystemXmlApplicationContext("src\\bean.xml");
person p = null;
p = (person)ctx.getBean("chinese");
System.out.println(p.sayHello("acc"));
System.out.println(p.sayGoodbye("acc"));
p = (person)ctx.getBean("english");
System.out.println(p.sayHello("acc"));
System.out.println(p.sayGoodbye("acc"));
}
}
--English.java
package spring001;
public class English implements person {
@Override
public String sayHello(String name) {
return name + ",Hello!!!";
}
@Override
public String sayGoodbye(String name) {
return name + ",Good bye!!!";
}
}
--Chinese.java
package spring001;
public class Chinese implements person {
@Override
public String sayHello(String name) {
return name + ",哈囉!!!";
}
@Override
public String sayGoodbye(String name) {
return name + ",再見!!!";
}
}
--person.java
package spring001;
public interface person {
public String sayHello(String name);
public String sayGoodbye(String name);
}
--bean.xml 放置在src目錄下
http://mvnrepository.com/artifact/org.springframework
or
http://sourceforge.net/projects/springframework/files/
裡面包含單一檔案 和 整合(spring-full)版本
DTD檔下載位置
http://www.springframework.org/dtd/
bean.xml 抬頭設置
簡易範例:
---SpringTest.java
package spring001;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
public class SpringTest {
public static void main(String[] args) {
ApplicationContext ctx = new FileSystemXmlApplicationContext("src\\bean.xml");
person p = null;
p = (person)ctx.getBean("chinese");
System.out.println(p.sayHello("acc"));
System.out.println(p.sayGoodbye("acc"));
p = (person)ctx.getBean("english");
System.out.println(p.sayHello("acc"));
System.out.println(p.sayGoodbye("acc"));
}
}
--English.java
package spring001;
public class English implements person {
@Override
public String sayHello(String name) {
return name + ",Hello!!!";
}
@Override
public String sayGoodbye(String name) {
return name + ",Good bye!!!";
}
}
--Chinese.java
package spring001;
public class Chinese implements person {
@Override
public String sayHello(String name) {
return name + ",哈囉!!!";
}
@Override
public String sayGoodbye(String name) {
return name + ",再見!!!";
}
}
--person.java
package spring001;
public interface person {
public String sayHello(String name);
public String sayGoodbye(String name);
}
--bean.xml 放置在src目錄下
2013年12月12日 星期四
在Eclipse中,使用JBoss Tools 建立 Hibernate 相關 映射檔案(java,hbm.xml,cfg.xml等)
以下以連結 Oracle 為例,首先建立一Dynamic Web Project
接著加入相關的jar檔,如 Hibernate 及 jdbc for Oracle
接下來在Project上新增一Hibernate Configuration File
選擇存放hibernate.cfg.xml的位置,一般位於 src根目錄
接著進入如下畫面,開始著手相關配置
可以使用Get values from Conntection 來建立(New)配置檔,以後直接選擇配置檔存取即可
選擇資料庫類型,Name及Description 任意,接著點選Next
選擇資料庫版本,一般選Oracle Thin Driver,接著將相關的jdbc jar檔位置設定好
再至Properties 設定相關資料庫屬性,如UserID Password
完成後,會在src的目錄下看到該檔案(hibernate.cfg.xml),但請進入修改依些設定,如下圖
接著開啟一個新的 Perspective --> Hibernate
接下來可以在畫面分頁中查看是否設定正確,若正確,則可以在Database中查看相關Table資料
接下來執行 Hibernate Code Generation Configurations...
開啟畫面如下,可以新增一個自己的配置
【Main】
Console configuration --> 選擇自己的專案名稱
Output directory --> 選擇輸出檔案的目錄,一般設定為 src
Reverse engineer from JDBC Connection --> 請勾選
package --> 選擇要放置升成 java 映射檔的 pagkage 為何
reveng.xml --> 若未建立過,請選擇新增,一般也是設定在 src 的目錄下
【Exporters】
選擇要產出的檔案類型 如 java / hbm.xml映射檔等
其餘的不太需要變更,直接選擇Run,會發現專案目錄已出現我們要的檔案
其餘一些相關設定如以下圖片:
【Table filters】
可選擇要建立相關映射的 Table
選擇產出的 ?.hbm.xml 檔案中,jdbc的資料型別對應Hibernate的類型
將重複無用對應資料刪除
建立要加入該 ?.hbm.xml資料的對應欄位,可順便設定primary key 及 相關產出方式
範例:
<id name="logId"type="long">
<column name="LOG_ID"precision="10" scale="0"/>
<generator class="native">
<param name="sequence">CHECKIN_LOG_AUTO</param>
</generator>
</id>
對照的選項如下:
完成後產出資料後,請記得去將該 ???.hbm.xml 加入 hibernate.cfg.xml 的 mapping 中,如下
修改後的結果,其實可透過介面新增屬性,當然也可以直接對source對修改
如此就可以試著使用該產出的檔案,若有勾選輸出DAO,則可直接拿來運用
但請記得修改當中的 getSessionFactory()
protected SessionFactory getSessionFactory() {
try {
//return (SessionFactory) new InitialContext().lookup("SessionFactory");
return (SessionFactory)new Configuration().configure().buildSessionFactory();
} catch (Exception e) {
log.error("Could not locate SessionFactory in JNDI", e);
throw new IllegalStateException(
"Could not locate SessionFactory in JNDI");
}
}
如此一來才能順利取得 hibernate.cfg.xml 的相關配置資料
By William Hsu 2013.12.12
參考資料:
eclipse利用Hibernate Tools生成Hibernate Mapping文件及PO类
eclipse下wtp+HibernateTools開發筆記
Hibernate 學習筆記 - openhome.cc
參考資料:
eclipse利用Hibernate Tools生成Hibernate Mapping文件及PO类
eclipse下wtp+HibernateTools開發筆記
Hibernate 學習筆記 - openhome.cc
2013年12月3日 星期二
溫故知新 DDL、DML、DCL、DQL
資料定義語言:
DDL(Data Definition Language)
用來定義資料庫、資料表、檢視表、索引、預存程序、觸發程序、函數等資料庫物件。
可以用來建立、更新、刪除 table,schema,domain,index,view
常見的指令有:
CREATE 建立資料庫的物件
ALTER 變更資料庫的物件
DROP 刪除資料庫的物件
===========================================
資料操作語言:
DML(Data Manipulation Language)
用來處理資料表裡的資料。
常見的指令有:
INSERT 新增資料到資料表中
UPDATE 更改資料表中的資料
DELETE 刪除資料表中的資料
===========================================
資料控制語言:
DCL(Data Control Language)
用來控制資料表、檢視表之存取權限,提供資料庫的安全性。
常見的指令有:
GRANT 賦予使用者使用權限
REVOKE 取消使用者的使用權限
COMMIT 完成交易作業
ROLLBACK 交易作業異常,將已變動的資料回復到交易開始的狀態
===========================================
資料查詢語言:
DQL(Data Query Language)
負責進行資料查詢,不會對資料本身進行修改的語句
用來查詢資料表裡的資料。
指令只有一個:
SELECT 選取資料庫中的資料
===========================================
各類輔助指令:SELECT,FROM,WHERE,GROUP BY,ORDER BY
用來定義資料庫、資料表、檢視表、索引、預存程序、觸發程序、函數等資料庫物件。常見的指令有:
CREATE 建立資料庫的物件
ALTER 變更資料庫的物件
DROP 刪除資料庫的物件
DDL(Data Definition Language)
用來定義資料庫、資料表、檢視表、索引、預存程序、觸發程序、函數等資料庫物件。
可以用來建立、更新、刪除 table,schema,domain,index,view
常見的指令有:
CREATE 建立資料庫的物件
ALTER 變更資料庫的物件
DROP 刪除資料庫的物件
===========================================
資料操作語言:
DML(Data Manipulation Language)
用來處理資料表裡的資料。
常見的指令有:
INSERT 新增資料到資料表中
UPDATE 更改資料表中的資料
DELETE 刪除資料表中的資料
===========================================
資料控制語言:
DCL(Data Control Language)
用來控制資料表、檢視表之存取權限,提供資料庫的安全性。
常見的指令有:
GRANT 賦予使用者使用權限
REVOKE 取消使用者的使用權限
COMMIT 完成交易作業
ROLLBACK 交易作業異常,將已變動的資料回復到交易開始的狀態
===========================================
資料查詢語言:
DQL(Data Query Language)
負責進行資料查詢,不會對資料本身進行修改的語句
用來查詢資料表裡的資料。
指令只有一個:
SELECT 選取資料庫中的資料
===========================================
各類輔助指令:SELECT,FROM,WHERE,GROUP BY,ORDER BY
用來定義資料庫、資料表、檢視表、索引、預存程序、觸發程序、函數等資料庫物件。常見的指令有:
CREATE 建立資料庫的物件
ALTER 變更資料庫的物件
DROP 刪除資料庫的物件
訂閱:
文章 (Atom)























