TAILIEUCHUNG - Bắt đầu với IBM Websphere smash - p 22

192 Chapter 8 Database Access def updatedRows = ( sql ) {"Rows updated: " + updatedRows) //-- A Delete action, because we have to clean out any bad stuff sql = "DELETE FROM bookmark WHERE tags like ?"; def deletedRows = ( sql, ["%asp%"] ) {"Rows deleted: " + deletedRows} Prepared Statements Creating queries by assembling SQL statements from strings fragments has many disadvantages. First, it is prone to errors in SQL syntax, especially for quote mismatches. The other major issue with dynamically built SQL statements based on input parameters is the classic SQL injection attack. Discussing the vagaries of SQL injection attacks is out. | 192 Chapter 8 Database Access def updatedRows sql Rows updated updatedRows -- A Delete action because we have to clean out any bad stuff sql DELETE FROM bookmark WHERE tags like def deletedRows sql asp Rows deleted deletedRows Prepared Statements Creating queries by assembling SQL statements from strings fragments has many disadvantages. First it is prone to errors in SQL syntax especially for quote mismatches. The other major issue with dynamically built SQL statements based on input parameters is the classic SQL injection attack. Discussing the vagaries of SQL injection attacks is out of our scope but properly crafted user input destined for an SQL parameter value can be used to obtain unlimited information about your database. If only there were an easy way to prevent the bad guys from hacking our queries stealing our data and generally causing us a lot of pain Well luckily prepared statements can save the day. WebSphere sMash provides several methods to define prepared statements for queries which allow dynamic SQL queries based on input parameters but with the safety of fixed string queries. Prepared statements use tokens to define where custom data elements should be inserted into the query statement. These tokens can be replaced with variable data named elements of a map or positional indexes from a list. Listing shows how to use a query with a simple ordinal parameter replacement. The second argument to the queryFirst or any of the other query statements is a string list or map of values to be used as replacements in the query string. Listing Prepared Statement Using Request Parameter def id def result select from bookmark where id id A more descriptive way to process parameters in an SQL statement is to use named parameters common in GroovyStrings. Listing shows how we can make our SQL a little more descriptive by using a named parameter instead of the .

TỪ KHÓA LIÊN QUAN
TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.