📄 testsimplequery.java
字号:
package learnBasic.simpleQuery;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import com.ibatis.common.util.PaginatedList;
import com.ibatis.sqlmap.client.SqlMapClient;
import learnBasic.IBatisSqlMapClient;
public class TestSimpleQuery {
private SqlMapClient dataMapper = null;
public void getProducts(){
dataMapper = IBatisSqlMapClient.getIBDataMapper();
try {
Product product = new Product();
ArrayList ls = (ArrayList)dataMapper.queryForList( "getProductListWHERE",null);
product = queryProductByWhere(product, ls);
System.out.println("1 动态条件结束==================================================================");
product = queryProductByWherelikeandAutoCondition(product);
System.out.println("2 like查询结束==================================================================");
product = updateProductTrans(product);
System.out.println("3 事务结束==================================================================");
addProductByBatch(product);
System.out.println("4 批处理结束==================================================================");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void addProductByBatch(Product product) throws SQLException {
//批处理
//
//
try {
dataMapper.startBatch();
product.setProductId(1);
product = (Product) dataMapper.queryForObject("getMaxProducId", product);
int maxId = product.getProductId();
product.setProductId(maxId+1);
product.setProductName("a");
product.setProductDesc("hhhhhhhhh");
product.setQuantity(10);
dataMapper.insert("insertProduct", product);
product.setProductId(maxId+2);
product.setProductName("b");
product.setProductDesc("hhhhhhhhh");
product.setQuantity(10);
dataMapper.insert("insertProduct", product);
product.setProductId(maxId+3);
product.setProductName("c");
product.setProductDesc("hhhhhhhhh");
product.setQuantity(10);
dataMapper.insert("insertProduct", product);
// System.out.println("更新的记录数为:" + numInsert);
dataMapper.executeBatch();
} finally {
System.out.println("aa");
}
}
private Product updateProductTrans(Product product) throws SQLException {
//事务
//本事务同时更新了两个product对象
try {
dataMapper.startTransaction();//声明事务
product.setProductId(1);
product = (Product) dataMapper.queryForObject("getProduct", product);
product.setProductName("新值1");
dataMapper.update("updateProduct", product);
product.setProductId(2);
product = (Product) dataMapper.queryForObject("getProduct", product);
product.setProductName("新值2");
int num = dataMapper.update("updateProduct", product);
System.out.println("更新的记录数为:" + num);
dataMapper.commitTransaction();//提交事务
} finally {
dataMapper.endTransaction();//结束事务
}
return product;
}
private Product queryProductByWherelikeandAutoCondition(Product product) throws SQLException {
ArrayList ls;
//利用动态条件查询某一确定条件的数据,
//使用like( ==> like '%$productName$%')并有多个动态条件
//包括like,>等条件
product.setProductDesc("ADFA");
product.setProductName("a");
product.setProductId(2);
ls = (ArrayList)dataMapper.queryForList( "getProductListLIKE",product);
for (Iterator iter = ls.iterator(); iter.hasNext();) {
product = (Product) iter.next();
System.out.println("通过'queryForList'提取带【like】和【and】的where条件的数据 : " + product.getProductDesc());
}
return product;
}
private Product queryProductByWhere(Product product, ArrayList ls) {
//利用动态条件查询某一确定条件的数据
for (Iterator iter = ls.iterator(); iter.hasNext();) {
product = (Product) iter.next();
System.out.println("通过'queryForList'提取不带where条件的数据: "
+ product.getProductDesc());
}
return product;
}
private byte[] getFile(String file){
byte[] bb = null;
try {
FileInputStream stream = new FileInputStream(file);
System.out.print(stream.available());
bb = new byte[stream.available()];
stream.read(bb);
stream.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return bb;
}
//翻页
public void page(){
try {
// Product product = new Product();
// product.setProductDesc("ADFA");
// product.setProductName("a");
// product.setProductId(2);
PaginatedList list =
dataMapper.queryForPaginatedList ("getProductListLIKE", null, 2);
list.nextPage();
list.nextPage();
list.previousPage();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
TestSimpleQuery qy = new TestSimpleQuery();
qy.getProducts();
qy.page();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -