[引言]
我們?cè)趯W(xué)習(xí)Java編程時(shí),連接數(shù)據(jù)庫(kù)技術(shù)(JDBC)是一項(xiàng)必備技能,我們經(jīng)常需要讀取或操作持久性存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù)。那么現(xiàn)在開始,小博老師就開始為大家講解JDBC中的常用操作技術(shù)横浑,今天我們來了解JDBC中對(duì)數(shù)據(jù)庫(kù)的參數(shù)化操作。
[步驟閱讀一]準(zhǔn)備數(shù)據(jù)庫(kù)
既然要連接數(shù)據(jù)庫(kù)屉更,那么我們首先得準(zhǔn)備一個(gè)數(shù)據(jù)庫(kù)(bwf)并且設(shè)計(jì)一個(gè)數(shù)據(jù)表(users用戶表),具體信息如下:
接下來徙融,我們給用戶users數(shù)據(jù)表中添加4條測(cè)試記錄:
[步驟閱讀二]項(xiàng)目添加jdbc驅(qū)動(dòng)
我們想要在Java項(xiàng)目中使用JDBC的功能,就必須要為項(xiàng)目添加JDBC驅(qū)動(dòng)文件(jar)瑰谜,我們一般可以在各種數(shù)據(jù)庫(kù)產(chǎn)品的官網(wǎng)上找到它們欺冀,例如mysql數(shù)據(jù)庫(kù)則可以在:http://www.mysql.com/products/connector/中找到驅(qū)動(dòng)文件。
為項(xiàng)目添加了JDBC驅(qū)動(dòng)文件(jar文件)后萨脑,我們可以看到項(xiàng)目的Referenced Library中結(jié)構(gòu)如下:
[步驟閱讀三]普通查詢操作實(shí)現(xiàn)用戶登錄
接下來脚猾,我們就進(jìn)入了本文的重點(diǎn)了,小博老師通過一個(gè)簡(jiǎn)單的用戶登錄案例砚哗,我們先使用之前學(xué)習(xí)過的普通查詢技術(shù)來實(shí)現(xiàn)龙助,核心代碼如下:
publicclassLoginFrameextendsJFrame {
publicLoginFrame(){
super("博為峰教育");
setBounds(200, 100, 400, 200);
setLayout(null);
// 實(shí)例化 控件
txtUname=newJTextField();
txtUname.setBounds(20, 20, 350, 25);
add(txtUname);
txtUpwd=newJTextField();
txtUpwd.setBounds(20, 50, 350, 25);
add(txtUpwd);
bt=newJButton("登 ?錄");
bt.setBounds(20, 80, 80, 25);
add(bt);
//給按鈕控件添加監(jiān)聽器
bt.addMouseListener(newMouseListener() {
publicvoidmouseReleased(MouseEvente) {}
publicvoidmousePressed(MouseEvente) {}
publicvoidmouseExited(MouseEvente) {}
publicvoidmouseEntered(MouseEvente) {}
publicvoidmouseClicked(MouseEvente) {
try{
// 加載JDBC驅(qū)動(dòng)
Driverdriver=newDriver();
// 創(chuàng)建數(shù)據(jù)庫(kù)連接對(duì)象
Connectionconn= DriverManager.getConnection(
"jdbc:mysql://127.0.0.1:3306/bwf?useUnicode=true&characterEncoding=utf8",
"root","");
// 創(chuàng)建數(shù)據(jù)庫(kù)操作申明對(duì)象
Statementstmt=conn.createStatement();
// 根據(jù)用戶填寫的賬戶名稱和密碼,向數(shù)據(jù)庫(kù)發(fā)送查詢語句蛛芥,查詢滿足條件的用戶記錄
ResultSetrs=stmt.executeQuery("select * from users where uname='"+txtUname.getText()+"' and upwd='"+txtUpwd.getText()+"'");
// 判斷查詢的結(jié)果集中是否有滿足條件的記錄
if(rs.next()){
// 有滿足條件的記錄提鸟,登錄成功
JOptionPane.showMessageDialog(getContentPane(),"登錄成功!");
}else{
// 沒有滿足條件的記錄仅淑,登錄失敗
JOptionPane.showMessageDialog(getContentPane(),"賬戶名稱或密碼錯(cuò)誤称勋!請(qǐng)重新填寫!");
}
}catch(Exceptionexception){
exception.printStackTrace();
}
}
});
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
privateJTextFieldtxtUname;
privateJTextFieldtxtUpwd;
privateJButtonbt;
}
運(yùn)行后效果: