程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> 快速應用JDBC控件訪問數據庫資源

快速應用JDBC控件訪問數據庫資源

編輯:關於JSP

  JDBC控件是Beehive1.0中提供的訪問JDBC數據源的Java控件。通過繼承JDBC控件,我們根本無須關注訪問數據庫資源的通訊細節,只需要定義自己的業務方法,增加相應的注釋來描述該繼承子類,我們就可以非常輕松的實現企業應用中JDBC數據源的訪問。

  JDBC控件的所有注釋在org.apache(Unix平台最流行的WEB服務器平台).beehive.controls.system.jdbc.JdbcControl接口中定義,Beehive編譯器在編譯時將檢查這些注釋是否使用正確。

  本節中首先將通過一個簡單的例子來演示如何通過繼承JDBC控件來訪問JDBC數據源,完成一個數據表的增加、刪除、修改、查詢等業務邏輯,隨後將介紹如何使用JDBC控件訪問JDBC數據源的更多技巧。

  本文中所有例子的源代碼可以通過下載資源區的鏈接下載。

  本節中所有演示例子對應的JDBC數據源均為MySQL(和PHP搭配之最佳組合)數據庫。

  第一個JDBC控件的例子

  接下來的這段例子將演示如何通過繼承JDBC控件來完成JDBC數據源的訪問,實現JDBC數據源中一個數據表中記錄增加、刪除、修改和查詢的業務邏輯。

  在演示例子中,為了保證演示的簡潔,我們使用JDBC直接連接到數據庫,而沒有使用通常訪問數據庫所采用的DataSource技術。

  建立數據表

  在本地MySQL(和PHP搭配之最佳組合)數據庫的Demo數據庫實例中按照如下DDL建立相應的數據表。

create table demo(
 id int(5) Prima(最完善的虛擬主機管理系統)ry key auto_increment,
 name varchar(20) not null default ,
 value varchar(20) not null default
);

  建立表征Demo對象的JavaBean

  創建新的應用目錄,然後創建表征Demo對象的JavaBean

  清單1 srcorgvivianjeehivecontrolsexamplescontrolseans

  Demo.java

1. package org.vivianj.beehive.controls.examples.beans;
2.
3.
4. /**
5. * Demo 用於表征Beehive JDBC控件例子中的Demo對象
6. */
7. public class Demo implements java.io.Serializable{
8. private int id;
9.
10. private String name;
11.
12. private String value;
13.
14. public int getId() {
15. return id;
16. }
17.
18. public void setId(int id) {
19. this.id = id;
20. }
21.
22. public String getName() {
23. return name;
24. }
25.
26. public void setName(String name) {
27. this.name = name;
28. }
29.
30. public String getValue() {
31. return value;
32. }
33.
34. public void setValue(String value) {
35. this.value = value;
36. }
37.
38. }

  繼承JDBC控件,增加自己的業務方法

  清單2 srcorgvivianjeehivecontrolsexamplescontrols

  DemoMySQL(和PHP搭配之最佳組合)Control.java

1. package org.vivianj.beehive.controls.examples.controls;
2.
3. import org.apache(Unix平台最流行的WEB服務器平台).beehive.controls.api.bean.ControlExtension;
4. import org.apache(Unix平台最流行的WEB服務器平台).beehive.controls.system.jdbc.JdbcControl;
5. import org.vivianj.beehive.controls.examples.beans.Demo;
6.
7. /**
8. * DemoMySQL(和PHP搭配之最佳組合)Control 用於封裝訪問MySQL(和PHP搭配之最佳組合)數據庫中的Demo數據
9. 表的所有業務邏輯
10. * 包括新增、刪除、修改、根據id查找對應的記錄、查找所有Demo
11. 數據表中的記錄、根據條件查找所有數據表中的記錄
12. * 數據庫訪問時根據參數從DriverManager中獲取數據庫連接
13. */
14.
15. @ControlExtension
16. @JdbcControl.ConnectionDriver(
17. databaseDriverClass = "org.gjt.mm.MySQL(和PHP搭配之最佳組合).Driver",
18. databaseURL = "jdbc:MySQL(和PHP搭配之最佳組合)://localhost/estore ",
19. userName = “root”, password = “root”)
20. public interface DemoMySQL(和PHP搭配之最佳組合)Control extends JdbcControl {
21. /**
22. * 向數據表demo中增加新的記錄
23. *
24. * @param demo
25. * 新增加的Demo對象
26. */
27. @SQL(statement = "insert into demo(name,value)
28. values({demo.name},{demo.value})")
29. public void createDemo(Demo demo);
30.
31. /**
32. * 修改數據表demo中demo.id對應記錄的name和value信息
33. *
34. * @param demo
35. * 被修改的Demo對象
36. */
37. @SQL(statement = "update demo set name={demo.name},
38. value={demo.value} where id={demo.id}")
39. public void updateDemo(Demo demo);
40.
41. /**
42. * 刪除數據表demo中demoId對應的記錄
43. *
44. * @param demoId
45. * 被刪除的Demo對象的id屬性
46. */
47. @SQL(statement = "delete from demo where id={demoId}")
48. public void deleteDemo(int demoId);
49.
50. /**
51. * 根據demoId查找Demo數據庫中對應的記錄,返回對應的
52. Demo對象
53. *
54. * @param demoId
55. * 查找Demo對象的id屬性
56. * @return id屬性為demoId的記錄
57. */
58. @SQL(statement = "select id,name,value from demo
59. where id={demoId}")
60. public Demo getDemoById(int demoId);
61.
62. /**
63. * 返回Demo數據表中所有記錄集合
64. *
65. * @return Demo數據表中所有記錄集合
66. */
67. @SQL(statement = "select id,name,value from demo")
68. public Demo[] getDemos();
69.
70. /**
71. *
72. * @param name
73. * @return
74. */
75. @SQL(statement = "select id,name,value from demo
76. where name like {sql: name}")
77. public Demo[] getDemosFilterByName(String name);
78. }
  控件調用

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved