Tải bản đầy đủ (.docx) (52 trang)

Tìm hiểu công cụ java jbuilder và ứng dụng xây dựng website bán hàng trực tuyến

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.06 MB, 52 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
----------

BÁO CÁO BÀI TẬP LỚN
Công cụ và môi trường phát triển phần mềm
Đề tài: Tìm hiểu công cụ Java Jbuilder và ứng dụng xây
dựng website bán hàng trực tuyến
Giáo viên hướng dẫn:

Th.S Nguyễn Văn Tỉnh

Sinh viên thực hiện:

Nhóm 1

Hà Nội, 1/2015

1


MỤC LỤC

2


DANH MỤC HÌNH

3



DANH MỤC BẢNG

4


LỜI NÓI ĐẦU
Sau khi kết thúc môn học “Công cụ và môi trường phát triển phần mềm”,
với vốn kiến thức đã tích lũy được trong quá trình học và thực hành, nhóm
chúng em thực hiện đề tài :“Tìm hiểu và sử dụng công cụ lập trình Jbuilder
-Ứng dụng xây dựng và thiết kế website bán hàng trực tuyến ”. Đây là một đề tài
hay và thực tế, với đề tài này, chúng em có thể vận dụng hết những kiến thức đã
được học để hoàn thành, và mục đích khi chúng em làm đề tài là rèn luyện, thực
hành các lý thuyết đã được học để đảm bảo rằng mình đã tiếp nhận được một số
lượng kiến thức cơ bản cần phải có và cách áp dụng nó.
Với sự hứng thú và đam mê môn học “Công cụ và môi trường phát triển
phần mềm ” chúng em không ngừng tìm tòi sáng tạo thêm cái mới, cái hay đưa
vào đề tài của mình, và hoàn thiệt đề tài một cách tối ưu và tốt nhất. Đó cũng là
những kinh nghiêm cho các thành viên trong nhóm, để vẫn dụng trong cuộc
sống và rèn luyện bản thân cho ngày mai lập nghiệp.
Chúng em xin gửi lời cảm ơn đến thầy giáo Nguyễn Văn Tỉnh đã tận tình
chỉ bảo và có những bài giải hay để chúng em hoàn thành tốt đề tài của mình.
Trong quá trình thực hiện đề tài không tránh khỏi việc vẫn có nhiều sai sót,
khuyết điểm. Vì thề nhóm chúng em hy vọng nhận được sự đánh giá và đóng
góp nhiệt tình từ phía thầy cô và các bạn để bài của nhóm chúng em được hoàn
thiện hơn.
Chúng em xin chân thành cảm ơn!

5



CHƯƠNG 1: TỔNG QUAN VỀ JBUILDER
1.1.

Giới thiệu về công cụ Jbuilder

JBuilder là một môi trường phát triển tích hợp (IDE) cho các ngôn ngữ lập
trình Java từ Embarcadero Technologies .Được phát triển bởi Borland JBuilder đã
được tách ra với CodeGear mà cuối cùng đã được mua bởi Embarcadero Technologies
vào năm 2008.
JBuilder là một trong những công cụ đầy đủ nhất và mạnh mẽ của Java IDE .
JBuilder bao gồm một bộ sưu tập toàn diện của các công cụ, thiết kế để giúp
bạn thiết kế, phát triển, thử nghiệm, triển khai và quản lý Các ứng dụng Java.


Cải thiện chất lượng mã và hiệu suất



Tăng năng suất cá nhân và nhóm



Nâng cao hiểu biết về mã mới hoặc hiện tại
Các công cụ của JBuilder, trong đó bao gồm khả năng để cấu hình các ứng

dụng Web, cho phép các nhà phát triển Java để cung cấp hiệu suất cao, khả năng mở
rộng các ứng dụng. Với cuộc kiểm toán và số liệu được xây dựng, bạn có thể đo
lường chất lượng tổng thể của thiết kế đối tượng, sự phức tạp và sự gắn kết giữa các
đối tượng, mức độ bao phủ kiểm tra, và nhiều yếu tố khác để giúp xác định bảo trì,
chất lượng và hiệu quả các vấn đề tiềm năng.

Để tối đa hóa hiệu quả phát triển JBuilder bao gồm một số thiết kế hình ảnh
bao gồm cả EJB và thiết kế JPA cho phép các nhà phát triển để tạo ra một mô hình
trực quan khi họ phát triển ứng dụng EJB và cho phép việc tạo ra một mô hình dự án
Java với JPA hỗ trợ, một nhà thiết kế Web Services cung cấp một hình ảnh, hai thiết
kế đường cho việc tạo ra các ứng dụng Web dựa trên Dịch vụ được kích hoạt, và một
giao diện người dùng thiết kế Swing cho nhanh chóng, dễ dàng tạo ra UIS Swing dựa
trên.
Khả năng mô hình hóa UML trong JBuilder thúc đẩy giao tiếp tốt hơn giữa
các nhà phát triển, các đội phát triển, quản lý và hỗ trợ cả các thông số kỹ thuật 1.4
và 2.0 UML. Và với LiveSource® bạn có thêm lợi ích của đồng bộ hóa đồng thời
giữa các mã và sơ đồ khi thực hiện thay đổi một trong hai.

6


JBuilder là một phần của gia đình Embarcadero công cụ phát triển phần mềm
cho Java, Windows, Mac, .NET, Web và di động bao gồm RAD Studio , Delphi , C +
+ Builder , Embarcadero Prism , và RadPHP .

Đối thủ cạnh tranh chính của JBuilder là những sản phẩm từ Eclipse
Foundation ( Eclipse ), MVC ( MyEclipse ),JetBrains ( IntelliJIDEA ),và Oracle ( JDe
veloper và NetBeans ). Oracle sử dụng để căn các phiên bản đầu tiên của JDeveloper
trên mã của JBuilder được cấp phép từ Borland, nhưng nó đã được viết lại từ đầu.


Các tính năng chính:
Hỗ trợ cho nguồn máy chủ ứng dụng Java thương mại và mở hàng đầu.




EJB, JPA và phát triển dịch vụ Web.



Hiệu suất điều chỉnh với bộ nhớ và CPU profiling khả năng.



Thực hiện hồ sơ qua JDBC, RMI, JSP, JNDI, EJB, JMS, và container giao
thức dịch vụ Web.



Mã bảo hiểm và phân tích.



Mã kiểm toán và số liệu.



Swing thiết kế giao diện người dùng.



UML 2.0 mô hình.



Phát triển đội ngũ cộng tác với theo dõi tích hợp, quản lý mã nguồn, quy

hoạch dự án và liên tục được xây dựng.



Quản lý giấy phép tập trung và triển khai công cụ với Embarcadero
ToolCloud

1.2.

Không gian làm việc

JBuilder sử dụng một cửa sổ để thực hiện hầu hết các chức năng phát triển:
chỉnh sửa, hình ảnh thiết kế, điều hướng, duyệt web, biên dịch, gỡ lỗi, và các hoạt
động khác. điều này cửa sổ là không gian làm việc JBuilder, và nó có chứa một số tấm
để thực hiện các chức năng phát triển.

7


Hình 1.1: Không gian làm việc của Jbuilder

8


Workspace

Mô tả

Thanh menu bao gồm một số lệnh để thiết kế, phát triển, thử nghiệm,
triển khai và quản lý các ứng dụng Java của bạn. Các thanh trình đơn

Menu bar

bao gồm các menu sau: File, Edit, Search, Refactor, View, Project,
Run, Team, Enterprise, Tools, Window, and Help. Các lệnh có sẵn
trong mỗi menu khác nhau tùy theo phiên bản JBuilder

Các thanh công cụ chính được hiển thị ở phía trên cùng của không
Main
toolbar

gian làm việc JBuilder dưới thanh menu. Nó bao gồm các thanh công
cụ nhỏ được nhóm lại theo chức năng : File, Edit, Search, Build,
Run/Debug, Navigate, Help, and Workspaces. Các nút có sẵn cho mỗi
thanh công cụ nhỏ thay đổi theo từng phiên bản JBuilder

Content
pane

Project pane

Cửa sổ hiển thị nội dung của các tập tin . nhiều tập tin có thể mở
trong cửa sổ nội dung , nhưng chỉ có một tập tin tại một thời gian có
thể hoạt động. Design, Bean, UML, Doc, and History views
Hiển thị các nội dung của project đang hoạt động ,nhấp chuột phải
truy cập vào các lệnh project.

Hiển thị cấu trúc của tập tin đang hoạt động trong khung nội dung.
Structure
pane


Các cửa sổ cấu trúc tổ chức quan điểm khác nhau, vì vậy những gì
xuất hiện trong cấu trúc cửa sổ là thích hợp để xem tab được lựa chọn
trong khung nội dung. Cấu trúc thiết lập bộ lọc khung cũng ảnh
hưởng đến panel cấu trúc

9


Hiển thị đầu ra khác nhau của quá trình, như tin nhắn trình biên dịch,
Message

kết quả tìm kiếm, giao diện người dùng gỡ rối, tái cấu trúc, Javadoc,

pane

đơn vị kiểm tra, xem todos, các lệnh điều khiển phiên bản, và WS-I
công cụ kiểm tra chức năng dịch vụ web

Nó cũng có thể lưu trữ các thành phần modeless. Ví dụ, khi bạn bắt
Status bars

đầu một phiên gỡ lỗi , gỡ lỗi xuất hiện trong cửa sổ tin nhắn.
CácCaliberRM plug-in

Bảng 1.1: Mô tả chức năng làm việc của Jbuilder

1.3.

Lịch sử phát triển


Từ khi Jbuilder ra đời Borland đã phát triển công cụ với các phiên bản
nâng cấp hơn, thay đổi các tính năng của công cụ để phát triển ứng dụng tốt hơn.
Dưới đây là các phiên bản của Jbuilder:
Tên
JBuilder 1
JBuilder 2
JBuilder 3

Năm
Editions
1997 Client / Server, Professional, Standard
1998 Client / Server, Professional, Standard
1999
Giới thiệu 100% -Java PrimeTime lõi IDE có sẵn trên
JBuilder 3.5 1999
Linux, Solaris và Windows
JBuilder 4
2000
JBuilder 5
2001 Thêm hỗ trợ host cho Mac OS X
JBuilder 6
2001
Enterprise, Standard (SE), cá nhân; cập nhật (mã bản vá
JBuilder 7
2002
lỗi)
JBuilder 8
2002 Enterprise, Standard (SE), cá nhân; cập nhật JBuilder 8
JBuilder 9
2003 Enterprise, Standard (SE), cá nhân; cập nhật phiên bản

JBuilder X
2003 Tích hợp cho doanh nghiệp và cá nhân
Jbuilder 2005 2004 Phiên bản cập nhật tiếp cho doanh nghiệp và cá nhân
Phiên bản hộ trợ các doanh nghiệp và được phát triển
JBuilder 2006 2005
thêm
10


Enterprise, Professional, Developer
JBuilder 2007 2006

Giao diện người dùng và các tính năng thay đổi nhiều từ
các phiên bản trước, phiên bản đầu tiên được làm lại để
làm việc trên Eclipse

JBuilder 2007
2007 Enterprise, Standard (SE), Turbo
R2
JBuilder 2008 2008 Enterprise, Professional, Turbo
JBuilder 2008
2009 Enterprise, Professional, Turbo
R2
Bảng 1.2: Lịch sử các phiên bản Jbuilder

1.4.

Cài đặt Jbuilder

Để cài đặt được công cụ lập trình ta có thể tải bản cài đặt tại địa chỉ:

/>Tại đây chúng ta sẽ tải phiên bản Jbuilder 2006 và tiến hành cài đặt theo các
bước
Bước 1: Mở file cài đặt và chạy
Bước 2: Cấu hình file chạy
Bước 3: Chạy file jbuilderw.exe trong thư mục “bin->jbuilderw.exe”
Bước 4: Chạy chương trình và sử dụng

1.5.

Giới thiệu về giao diện

Jbuilder sử dụng giao diện khá thân thiện và dễ sử dụng cho người dùng
Giao diện chính: Jbuilder Interprise 2006

11


Hình 1.2 & 1.3: Giao diện chính của Juiblder
 Giao diện soạn thảo chương trình:

12


Hình 1.4: Giao diện soạn thảo chương trình Jbuilder
 Giao diện quản lý file:

Hình 1.5: Giao diện quản lý file Jbuilder

13



CHƯƠNG 2: XÂY DỰNG WEBSITE BẰNG JBUILDER
2.1.

Mô hình website

Trong đề tài này nhóm sẽ sử dụng mô hình MVC(Model – Control –
View) để xây dựng website, tách biệt giao diện và quá trình sử lý website để
chúng ta có thể phát triển và xử lý lỗi trong quá trình hoàn thành.

2.2.

Tạo và cấu hình project

Trước khi tạo một ứng dụng web trong JBuilder, trước tiên bạn phải tạo
ra một dự án để làm việc. JBuilder sử dụng một file dự án với một .jpxextension
để tổ chức các tập tin ứng dụng và duy trì các thiết lập và thuộc tính của dự án.
Người dùng có thể tạo mới bất kỳ project nào trên Jbuilder bao gồm : Web
project, Swing project, hay các thư viện…
Người dùng tạo project theo các bước sau:
 Bước 1: Chọn: File -> New project

Hình 2.1: Giao diện tạo Project
Hoặc bạn cũng có thể chọn: Open project nếu đã có.
14


 Bước 2: Tùy chọn tên và có thể cấu hình thư viện nếu muốn dùng
lại cho project


Hình 2.2: Đặt tên project
 Bước 3: Hộp thoại mới xuất hiện với các tùy chọn thêm thư viện

Hình 2.3: Tùy chọn thêm thư viện
15


 Bước 4: Finish kết thúc việc tạo mới project

Hình 2.4: Tùy chọn thêm các mô tả

2.3.

Tải và tích hợp trình chủ Tom-cat

2.3.1.Giới hiệu về Tom-cat
Apache Tomcat là một Java Servlet được phát triển bởi Apache Software
Foundation (ASF). Tomcat thi hành các ứng dụng Java Servlet và JavaServer
Pages (JSP) từ Sun Microsystems, và cung cấp một máy chủ HTTP cho ngôn
ngữ Java thuần túy để thực thi các chương trình lệnh viết bằng ngôn ngữ Java.
Tom-cat không nên được hiểu nhầm với các máy chủ HTTP Apache - cái
mà dùng để thực thi các câu lệnh viết bằng ngôn ngữ C trên máy chủ HTTP; có
2 máy chủ web được kết nối với nhau. Apache Tomcat cung cấp các công cụ cho
16


việc cấu hình và quản lý, nhưng cũng có thể được cấu hình bởi việc soạn thảo
các file cấu hình viết bằng XML.

2.3.2. Hướng dẫn tải trình chủ Tom-cat

Để tải trình chủ Tomcat người dùng có thể truy cập vào địa chỉ website:
người dùng có thể tải được các phiên bản Tomcate 6
đến Tomcate 8 phù hợp cho công trụ mà người dùng sử dụng.
2.3.3. Tích hợp trình chủ Tom-cat
Người dùng tích hợp trình chủ Tomcat theo các bước dưới đây:
 Bước 1: Tại Jbuilder chọn Enterprise -> Configure Server

Hình 2.5: Cấu hình trình chủ Tom-Cat
 Bước 2: Chọn add Tom-Cat
Tại đây ta sẽ demo tạo trình chủ Tom-Cat 5.5
Người dùng chọn add-> chọn đường dẫn đến file Tom-Cat ta vừa tải
và nhấn Ok.
Sau khi chọn xong ta sẽ thấy chữ “Tom Cat 5.5” đã được dựng
đứng.

17


Hình 2.6: Thêm đường dẫn Tom Cat

2.4.

Cấu hình JDBC kết nối với CSDL

2.4.1. Giới thiệu về JDBC
JDBC là gì?
JDBC là viết tắt của “Java DataBase Connectivity”. Nó là một API
(Application Programming Interface) có chứa một tập hợp các lớp, các giao diện Java
và các thông báo lỗi ngoại lệ nằm trong cùng một đặc tả mà theo đó cả các công ty
sản xuất JDBC driver cũng như các nhà phát triển JDBC đều phải tuân thủ chặt chẽ

khi phát triển ứng dụng.
JDBC là một chuẩn truy xuất cơ sở dữ liệu rất phổ biến. Các RDBMS
(Relational Database Management Systems – Hệ quản trị cơ sở dữ liệu quan hệ) hay
18


các nhà sản xuất phần mềm bên thứ ba phát triển các driver cho Java đều cần tuân thủ
chặt chẽ đặc tả JDBC. Các nhà phát triển khác sử dụng các driver này để phát triển
nên các ứng dụng có truy cập cơ sở dữ liệu
Ai phát triển đặc tả JDBC?
SUN chuẩn bị và duy trì đặc tả JDBC. Bởi JDBC chỉ là một đặc tả (đề xuất cách viết
và sử dụng các JDBC driver), nên các công ty sản xuất phần mềm bên thứ ba sẽ phát
triển các JDBC driver tuân thủ chặt chẽ đặc tả này. Các nhà phát triển JDBC sau đó
sẽ sử dụng các driver này để truy cập vào các nguồn dữ liệu.
Tại sao lại dùng JDBC?
JDBC tồn tại là để giúp các nhà phát triển Java tạo nên các ứng dụng truy xuất cơ sở
dữ liệu mà không cần phải học và sử dụng các API độc quyền do các công ty sản xuất
phần mềm khác nhau bên thứ ba cung cấp. Bạn chỉ cần học JDBC và sau đó bạn sẽ
được đảm bảo rằngbạn sẽ có thể phát triển nên các ứng dụng truy cập cơ sở dữ liệu
có khả năng truy cập đến các RDBMS khác nhau bằng cách sử dụng các JDBC driver
khác nhau.
Kiến trúc JDBC
Trong Java có 2 lớp chủ yếu chịu trách nhiệm về thiết lập kết nối đến một cơ sở dữ
liệu.
1. DriverManager - Nạp các JDBC driver vào trong bộ nhớ. Có thể sử dụng nó
để mở các kết nối tới một nguồn dữ liệu.
2. Connection - Biểu thị một kết nối đến một nguồn dữ liệu. Được dùng để tạo ra
các

đối


tượng

Statement,

PreparedStatement



CallableStatement.

Statement - Biểu diễn một lệnh SQL tĩnh. Có thể sử dụng nó để thu về đối
tượng ResultSet.
19


3. PreparedStatement - Một giải pháp thay thế hoạt động tốt hơn đối tượng
Statement, thực thi một câu lệnh SQL đã được biên dịch trước.
4. CallableStatement – biểu diễn một thủ tục được lưu trữ. Có thể được sử dụng
để thực thi các thủ tục được lưu trữ trong một RDBMS có hỗ trợ chúng.
5. ResultSet - biểu diễn một tập kết quả trong cơ sở dữ liệu tạo ra bởi việc sử
dụng một câu lệnh SQL là SELECT.
6. SQLException - một lớp xử lý lỗi ngoại lệ chứa các lỗi truy cập cơ sở dữ liệu.
7. DataSource - Trừu tượng hóa một nguồn dữ liệu.
8. DriverManager để tạo ra một cách có hiệu quả các kết nối cơ sở dữ liệu (có
khả năng sử dụng việc chứa/phân chia các đường kết nối ngầm).
Tạo sẵn cơ chế phân chia đường kết nối (built-in connection pooling).
9. XADataSource, XAConnection – Cho phép/Hỗ trợ các giao dịch phân phối.
RowSet – Nó mở rộng giao diện ResultSet để tăng thêm sự hỗ trợ đối với các
tập kết nối bị ngắt.

Có 4 loại JDBC driver. Thông dụng nhất và cũng là hiệu quả nhất là loại 4. Sau
đây là mô tả:
 JDBC Driver loại 1- Chúng là các trình điều khiển cầu nối JDBC-ODBC.
Chúng ủy nhiệm công việc truy cập dữ liệu cho ODBC API. Chúng là trình
điều khiển chậm nhất trong số còn lại. SUN cung cấp một phần mềm trình
điều khiển JDBC/ODBC.
 JDBC Driver loại 2 – Chúng chủ yếu sử dụng API mã nền để truy cập dữ
liệu và cung cấp các lớp bao Java để có thể được gọi ra bằng cách dùng các
JDBC driver.
 JDBC Driver loại 3 – Chúng được viết thuần bằng Java và sử dụng giao thức
Net độc lập nhà sản xuất để truy cập đến trình theo dõi từ xa độc lập nhà sản
xuất. Trình theo dõi này đến lượt nó lại ánh xạ các lời gọi độc lập nhà sản
xuất này vào các lời gọi phụ thuộc nhà sản xuất. Bước đặc biệt này đã làm
tăng độ phức tạp và giảm tính hiệu quả trong truy cập cơ sở dữ liệu.
20


 JDBC Driver loại 4 – Chúng được viết thuần túy bằng Java và là loại hiệu
quả nhất. Chúng cho phép kết nối trực tiếp vào cơ sở dữ liệu, cung cấp kết
quả tối ưu và cho phép lập trình viên thực hiện các chức năng tùy thuộc vào
cơ sở dữ liệu cụ thể. Điều này đã tạo ra tính cơ động cao nhất là khi bạn cần
thay đổi cơ sở dữ liệu bên dưới một ứng dụng. Loại driver này thường được
dùng cho các ứng dụng phân tán cao.
SUN khuyến cáo sử dụng và phát triển các trình điều khiển loại 4 trong các
ứng dụng.

2.4.2. Các bước cấu hình JDBC
Để cấu hình bộ quản lý kết nối JDBC trước tiên người dùng có thể tải về
tại địa chỉ website:
 Bước 1: Tại Jbuilder chọn Project -> Project Properties -> Tại màn

hình bên phải ta chọn Required Library -> Chọn add
 Bước 2: Chọn đường dẫn chứa file thư viện JDBC vừa tải về sau đó
bấm OK

21


Hình 2.7: Cấu hình JDBC

2.5.

Tạo webmodule servlet

Để website có thể hoạt động trên server thì người dùng phải tạo
webmodule serverlet cho phép các file .jsp hoặc các file servlet.java có thể chạy
được.
Ta tiến hành Import thư viện. Ta sẽ tải thư viện webmodule tại website:
. Sau khi tải về ta sẽ cấu hình thư viện theo các bước cấu
hình JDBC
Các bước tạo webmodule:
 Bước 1: Tại Jbuilder chọn File-> New-> Chọn Web -> Chọn
webmodule
Tại đây chúng ta sẽ lựa chọn Trình chủ Tom Cat

22


Hình 2.8:

Tạo


webmodule
 Bước 2: Nhấn ok -> next > Chọn nhập tên webmodule VD:
“Home” và nhấn Ok và Finish

2.6.

Xây dựng các lớp đối tượng class

Để xây dựng website theo mô hình MVC người dùng sẽ tạo class chứa
các lớp đối tượng, để xử dụng trong quá trình xử lý với dữ liệu
Tại Jbuilder chọn File -> New-> Class
Người dùng có thể viết câu lệnh chứa các đối tượng và thuộc tính của đối
tượng
VD: Ta có thể viết lệnh như sau:
Lớp sản phẩm
public class ProductItem extends ProductCategoryItem {
private int product_id;
23


private String product_name;
private String product_image;
public void setProduct_id(int product_id) {
this.product_id = product_id;
}
public void setProduct_name(String product_name) {
this.product_name = product_name;
}
public void setProduct_image(String product_image) {

this.product_image = product_image;
}
public int getProduct_id() {
return product_id;
}
public String getProduct_name() {
return product_name;
}
public String getProduct_image() {
return product_image;
}

2.7.

Xây dựng các lớp xử lý website

Công cụ Jbuilder hỗ trợ chúng ta tạo các lớp một cách linh hoạt và nhanh
chóng, vì thế trong quá trình xây dựng website người dùng sẽ thực hiện rất nhiều
24


các xử lý , và các xử lý này sẽ nằm tại các lớp , từ đó người dùng sẽ gọi và sử
dụng các lớp đó phục vụ cho quá trình xây dựng cho dự án .
Vi dụ:
Tao một lớp xử lý Sản phẩm:
import jsoft.*;
import jsoft.library.*;
import jsoft.gui.basic.*;
import jsoft.objects.product.*;
public class ProductImpl extends BasicImpl implements Product {

public ProductImpl(ConnectionPool cp) {
super(cp, "Product");
}
/**
* getProduct
*
* @param pid int
* @return ResultSet
* @todo Implement this Database.Product.GUI.Product method
*/
public ResultSet getProduct(int pid) {
String sql = "SELECT * FROM tblproduct LEFT JOIN tblpc ON
product_pc_id=pc_id WHERE (product_id=?) AND (product_delete=0)
AND (product_enable=1)";
String sqlUpdate = "UPDATE tblproduct SET
product_visited=product_visited+1 WHERE product_id=?";

25


×