国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

使用PreparedStatement減少開發(fā)的時(shí)間

2019-11-17 05:56:35
字體:
供稿:網(wǎng)友

JDBC(java Database Connectivity,java數(shù)據(jù)庫(kù)連接)的API中的主要的四個(gè)類之一的java.sql.Statement要求開發(fā)者付出大量的時(shí)間和精力。在使用Statement獲取JDBC訪問時(shí)所具有的一個(gè)共同的問題是輸入適當(dāng)格式的日期和時(shí)間戳:2002-02-05 20:56 或者 02/05/02 8:56 PM。

通過使用java.sql.PReparedStatement,這個(gè)問題可以自動(dòng)解決。一個(gè)PreparedStatement是從java.sql.Connection對(duì)象和所提供的SQL字符串得到的,SQL字符串中包含問號(hào)(?),這些問號(hào)標(biāo)明變量的位置,然后提供變量的值,最后執(zhí)行語句,例如:

Stringsql = "SELECT * FROM People p WHERE p.id = ? AND p.name = ?";

PreparedStatement ps = connection.prepareStatement(sql);

ps.setInt(1,id);

ps.setString(2,name);

ResultSet rs = ps.execute();

使用PreparedStatement的另一個(gè)優(yōu)點(diǎn)是字符串不是動(dòng)態(tài)創(chuàng)建的。下面是一個(gè)動(dòng)態(tài)創(chuàng)建字符串的例子:

Stringsql = "SELECT * FROM People p WHERE p.i = "+id;

這答應(yīng)JVM(JavaVirtual Machine,Java虛擬機(jī))和驅(qū)動(dòng)/數(shù)據(jù)庫(kù)緩存語句和字符串并提高性能。

PreparedStatement也提供數(shù)據(jù)庫(kù)無關(guān)性。當(dāng)顯示聲明的SQL越少,那么潛在的SQL語句的數(shù)據(jù)庫(kù)依靠性就越小。

由于PreparedStatement具備很多優(yōu)點(diǎn),開發(fā)者可能通常都使用它,只有在完全是因?yàn)樾阅茉蚧蛘呤窃谝恍蠸QL語句中沒有變量的時(shí)候才使用通常的Statement。



發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 萍乡市| 通海县| 扎赉特旗| 奇台县| 浦县| 石嘴山市| 玛沁县| 望谟县| 治县。| 富蕴县| 虞城县| 博乐市| 松滋市| 浠水县| 布拖县| 西丰县| 松桃| 武隆县| 依兰县| 安丘市| 临漳县| 忻州市| 富源县| 闵行区| 库伦旗| 榕江县| 黑山县| 屏南县| 吉林省| 平罗县| 治县。| 大关县| 九寨沟县| 台东县| 杨浦区| 进贤县| 兴安盟| 黎川县| 巴彦淖尔市| 开化县| 清苑县|