Cách excecute một câu query với nhiều tham số truyền vào trong jdo
Cú pháp cho một trường hợp cụ thể khi lấy data :
//pm : PersistenceManager
Query query_variable_name = pm.newQuery(class_name.class);
//thêm các điều kiên. của câu query ở đây cho phù hợp với yêu cầu của đầu bài
query.setFilter(“property_name1 (điều kiện : == or || or > or <…) property_name1Param && property_name2 (điều kiện: == or || or > or <…) property_name2Param”);
// khai báo các biến và kiểu dữ liệu của biến
query.declareParameters(“dataType property_name1Param, dataType property_name2Param”);
//Khai báo mảng và chứa các tham số sẽ dùng trong câu truy vấn vào mảng khai báo
object [] params_variable_name = {value_param1,value_param2};
//chạy câu query với tham số truyền vào là một array các params
List<objectType> articlesCate = (List<objectType>) pm.newQuery(query_variable_name).executeWithArray(params_variable_name);
Ví dụ :
// select các trường trong Article
Query querySameCategory = pm.newQuery(Article.class);
// set điều kiện lọc cho category và date
querySameCategory.setFilter(“category == categoryParam && date < dateParam”);
//sắp xếp theo chiều giảm dần
querySameCategory.setOrdering(“date desc”);
// lấy 13 bản ghi trong khoảng từ 0 đến 12
querySameCategory.setRange(“0,12″);
//khai báo kiểu dữ liệu là String và Date lần lượt cho 2 tham số truyền vào arrayParam
querySameCategory.declareParameters(“String categoryParam,java.util.Date dateParam”);
//Khai báo mảng dữ liệu và set giá trị cho tham số trong mảng
object [] params = {articles.get(0).getCategory(),articles.get(0).getDate()};
//Chạy câu truy vấn với tham số truyền vào là 1 mảng các tham số
List
Hết! ^^
(i-php.net)