⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testsimplequery.java

📁 演示ibatis的基本使用方法
💻 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 + -