新聞中心
如何寫(xiě)一個(gè)dao類(lèi)方法來(lái)實(shí)現(xiàn)java對(duì)mysql數(shù)據(jù)庫(kù)的增刪改查?
package basic;
創(chuàng)新互聯(lián)主營(yíng)南宮網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶APP開(kāi)發(fā)公司,南宮h5小程序制作搭建,南宮網(wǎng)站營(yíng)銷(xiāo)推廣歡迎南宮等地區(qū)企業(yè)咨詢(xún)
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBC {
public void findAll() {
try {
// 獲得數(shù)據(jù)庫(kù)驅(qū)動(dòng)
//由于長(zhǎng)時(shí)間不寫(xiě),驅(qū)動(dòng)名和URL都忘記了,不知道對(duì)不對(duì),你應(yīng)該知道的,自己改一下的哈
String url = "jdbc:oracle:thin:@localhost:1521:XE";
String userName = "system";
String password = "system";
Class.forName("oracle.jdbc.driver.OracleDriver");
// 創(chuàng)建連接
Connection conn = DriverManager.getConnection(url, userName,
password);
// 新建發(fā)送sql語(yǔ)句的對(duì)象
Statement st = conn.createStatement();
// 執(zhí)行sql
String sql = "select * from users";
ResultSet rs = st.executeQuery(sql);
// 處理結(jié)果
while(rs.next()){
//這個(gè)地方就是給你的封裝類(lèi)屬性賦值
System.out.println("UserName:"+rs.getString(0));
}
// 關(guān)閉連接
rs.close();
st.close();
conn.close();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void delete(){
try {
//步驟還是那六個(gè)步驟,前邊的兩步是一樣的
String url = "jdbc:oracle:thin:@localhost:1521:XE";
String userName = "system";
String password = "system";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(url,userName,password);
//這里的發(fā)送sql語(yǔ)句的對(duì)象是PreparedStatement,成為預(yù)處理sql對(duì)象,因?yàn)榘礂l件刪除是需要不定值的
String sql = "delete from users where id = ?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(0, 1);
int row = ps.executeUpdate();
if(row!=0){
System.out.println("刪除成功!");
}
// 關(guān)閉連接
rs.close();
st.close();
conn.close();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
我只寫(xiě)了查詢(xún)和刪除,添加、修改和刪除非常之像,這是因?yàn)椴樵?xún)對(duì)數(shù)據(jù)庫(kù)沒(méi)有改動(dòng),而增刪改都對(duì)數(shù)據(jù)庫(kù)進(jìn)行了修改,所以這三個(gè)非常像……呵呵,你自己看著辦吧
在 MySQL 中如何實(shí)現(xiàn)按分類(lèi)循環(huán)排序?
方法很簡(jiǎn)單
SQL.ADD(select FEILEI from dbconfig group by FEILEI)
SQL.OPEN()
WHILE(NOT EOF)
{
SQL2.ADD(SELECT * FROM dbconfig WHERE FEILEI =FIELDBYNAME("FEILEI "))
WHILE(NOT EOF)
{
......//顯示數(shù)據(jù)
}
}
以上是實(shí)現(xiàn)功能的方式 具體代碼和語(yǔ)法自己寫(xiě)吧,兩層循環(huán)嵌套就OK
如何將mysql數(shù)據(jù)庫(kù)表中的內(nèi)容顯示在Web頁(yè)面中,用什么軟件實(shí)現(xiàn)呢?
需要到Eclipse來(lái)實(shí)現(xiàn)。
1、首先我們使用數(shù)據(jù)庫(kù)連接工具HeiDiSQL來(lái)連接本機(jī)的mysql數(shù)據(jù)庫(kù),
2、使用該工具創(chuàng)建一個(gè)test數(shù)據(jù)庫(kù),
3、在該數(shù)據(jù)庫(kù)中創(chuàng)建一張student表,該表中有id、name和age字段,我們同時(shí)給數(shù)據(jù)庫(kù)添加數(shù)據(jù),如下圖所示。
4、我們創(chuàng)建一個(gè)Student類(lèi),并為該類(lèi)分別創(chuàng)建id、name和age屬性,并用private修飾符進(jìn)行限定。接下來(lái)我們?yōu)檫@些屬性創(chuàng)建getter和setter方法,如下圖所示。
5、我們創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)連接類(lèi),用于配置數(shù)據(jù)庫(kù)連接的屬性,如數(shù)據(jù)庫(kù)的驅(qū)動(dòng)、URL、用戶(hù)名和密碼。
6、我們創(chuàng)建完數(shù)據(jù)庫(kù)的連接后,使用getConnection()方法獲取連接,
7、使用close()方法關(guān)閉連接。我們?cè)谑褂胢ysql時(shí)需要添加smysql驅(qū)動(dòng)的jar包。
8、接下來(lái)我們創(chuàng)建MVC模式中的數(shù)據(jù)持久化層,首先我們創(chuàng)建一個(gè)TestDao接口,用于定義獲取數(shù)據(jù)的方法。
9、接下來(lái)我們創(chuàng)建TestDaoImpl實(shí)現(xiàn)類(lèi),并且實(shí)現(xiàn)TestDao接口,重寫(xiě)該接口中的方法,如下圖所示。
10、我們將數(shù)據(jù)以集合的形式返回,此時(shí)需要?jiǎng)?chuàng)建TestSverlet類(lèi)進(jìn)行業(yè)務(wù)邏輯處理。我們首先創(chuàng)建一個(gè)構(gòu)造方法,并在構(gòu)造方法中獲取數(shù)據(jù)庫(kù)的連接。
11、我們創(chuàng)建的TestServlet類(lèi)繼承了HttpServlet類(lèi),并重寫(xiě)了父類(lèi)的doGet()方法,我們?cè)谠摲椒ㄖ袆?chuàng)建TestDaoImpl的對(duì)象,并調(diào)用getAllStudent()方法進(jìn)行數(shù)據(jù)的查詢(xún),并將查詢(xún)的結(jié)果放入到request的屬性中,同時(shí)使用RequestDispatcher將請(qǐng)求轉(zhuǎn)發(fā)到student.jsp。
12、我們創(chuàng)建一個(gè)student.jsp的文件,在該文件中使用EL表達(dá)式和JSTL標(biāo)簽來(lái)獲取request范圍的屬性數(shù)據(jù),即上一步驟的查詢(xún)結(jié)果。
13、最后我們需要在web.xml文件中配置該Servlet的請(qǐng)求路徑等信息,如下圖所示。
14、以上步驟完成后我們使用Tomcat啟動(dòng)該項(xiàng)目,按照請(qǐng)求路徑訪問(wèn)便可在頁(yè)面表格中獲取到數(shù)據(jù)庫(kù)的查詢(xún)結(jié)果。
MySQL 基礎(chǔ)22 DBUtils的使用之ResultSetHandler的實(shí)現(xiàn)類(lèi)
??DBUtils用的最多的莫過(guò)于其結(jié)果集的處理,畢竟僅僅得到一個(gè)ResultSets是沒(méi)有。而結(jié)果集的處理正是依賴(lài)于ResultSetHandler 接口及其實(shí)現(xiàn)類(lèi)。 以下內(nèi)容,我們著重分析該接口及其實(shí)現(xiàn)類(lèi)的源碼并給出使用方法。
ArrayHandler
ArrayListHandler
BeanHandler
BeanListHandler
MapHandler
MapListHandler
用的不是特別多但是 業(yè)務(wù)中會(huì)有涉及的需要知曉
ColumnListHandler
ScalarHandler
KeyedHandler
網(wǎng)頁(yè)名稱(chēng):mysql怎么寫(xiě)實(shí)現(xiàn)類(lèi) hat發(fā)什么音
文章路徑:http://www.dlmjj.cn/article/dohhesd.html