1 首先根据需求 建立相应的View.xml文件
2 根据创建的View生成一个对应的JSP页面
3 查询操作用QueryCommand 在里面分别指定查询的数据来源以及存放结果的两个DataSet 并且在这个存放结果的DataSet里面指定Provider以及这个查询方法.
4 增删改操作用MarmotUpdateCommand 在command中制定resolver 以及方法名称
5 跟据Spring的注入 配置一个Bean 指定实现这个方法的类 id为前面DataSet里面指定的Provider的名称 class为这个类所在路径
<bean id="customerProvider" class="com.newtouch.claim.business.reserve.customerProvider"></bean>
6 在Customer类中执行相应的方法
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.marmot.view.DataSet;
import com.isoftstone.fwk.action.ActionConstant;
import com.isoftstone.pcis.autoclaim.app.common.ToolsDM;
import com.isoftstone.pcis.autoclaim.domain.vo.business.MainVo;
import com.isoftstone.pcis.autoclaim.domain.vo.business.MainZmVo;
import com.isoftstone.pcis.autoclaim.proxy.ChitProxy;
public class customerProvider {
/*
* 查询
*/
@SuppressWarnings("unchecked")
public Object search(DataSet dataSet) throws Exception{
//从dataSet里面取得参数
Map parameters = (Map)dataSet.getParameters();
String id = (String)parameters.get("id");
String custNo =(String) parameters.get("custNo");
String custName =(String) parameters.get("custName");
try {
String url="jdbc:oracle:thin:@10.1.1.116:1522:test";
String name ="test";
String password ="test";
//加载驱动程序
Class.forName("oracle.jdbc.driver.OracleDriver");
//创建数据库连接对象
Connection conn= DriverManager.getConnection(url,name,password);
String sql ="select * from customer where 1=1";
//对取得的参数进行判断
if( id != null && !"".equals(id) ){
sql += "and id = '" + id + "'";
}
if(custNo != null && !"".equals(custNo)){
sql +="and custNo ='"+custNo+"'";
}
if(custName != null && !"".equals(custName)){
sql +="and custName ='"+custName+"'";
}
//实例化数据库操作对象
PreparedStatement ps= conn.prepareStatement(sql);
//执行查询
ResultSet rs= ps.executeQuery();
@SuppressWarnings("rawtypes")
List list = new ArrayList();
if(rs!=null){
while (rs.next()) {
@SuppressWarnings("rawtypes")
Map map =new HashMap();
map.put("id", rs.getInt("ID"));
map.put("custNo", rs.getInt("CUSTNO"));
map.put("custName", rs.getString("CUSTNAME"));
map.put("addDate", rs.getDate("ADDDATE"));
map.put("flag", rs.getInt("FLAG"));
list.add(map);
//判断标识为是否为1,标识为1的为无效数据,因此不加入list
if(map.get("flag")!=null && !map.get("flag").equals("")){
if(map.get("flag").toString().equals("1")){
list.remove(map);
}
}
}
try {
rs.close();
ps.close();
conn.close();
} catch (Exception e) {
// TODO: handle exception
}
dataSet.addRecords(list);
}
} catch (Exception e) {
e.printStackTrace();
}
return dataSet;
}
@SuppressWarnings({ "unchecked", "rawtypes" })
public void Add(Map dataSetMap, Object params) throws Exception {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
//String sql = "select * from customer ";
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@10.1.1.116:1522:test", "test", "test");
//PreparedStatement ps = conn.prepareStatement(sql);
//ResultSet rs = ps.executeQuery();
PreparedStatement stmt = null;
DataSet dataSet = (DataSet) dataSetMap.get("QueryDataSet");
@SuppressWarnings("rawtypes")
List<Map> records = (List<Map>) dataSet.getRecords();
Map record = records.get(0);
//String id = (String) record.get("id");
String custNo = (String) record.get("custNo");
String custName = (String) record.get("custName");
//String flag = (String) record.get("flag");
String sql1 = "insert into customer values (s_customer.nextval,'" + custNo + "','"
+ custName + "',sysdate,0) ";
stmt = conn.prepareStatement(sql1);
System.out.println(stmt.executeUpdate());
//rs = stmt.executeQuery("select * from customer ");
//rs.close();
stmt.close();
conn.close();
//ps.close();
} catch (Exception e) {
e.printStackTrace();
}
}
@SuppressWarnings({ "rawtypes", "unchecked" })
public void Delete(Map dataSetMap, Object params) throws Exception {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@10.1.1.116:1522:test", "test", "test");
PreparedStatement stmt = null;
DataSet dataSet = (DataSet) dataSetMap.get("QueryDataSet");
List<Map> records = (List<Map>) dataSet.getRecords();
Map record = records.get(0);
String id = (String) record.get("id");
String sql1 = "update customer set flag = 1 where id = " + id ;
stmt = conn.prepareStatement(sql1);
System.out.println(stmt.executeUpdate());
//String sql2= "select * from customer where flag= '0'";
//ps=conn.prepareStatement(sql2);
//ps.executeQuery();
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
@SuppressWarnings("rawtypes")
public void Edit(Map dataSetMap, Object params) throws Exception {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
//String sql = "select * from customer ";
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@10.1.1.116:1522:test", "test", "test");
//PreparedStatement ps = conn.prepareStatement(sql);
//ResultSet rs = ps.executeQuery();
PreparedStatement stmt = null;
DataSet dataSet = (DataSet) dataSetMap.get("queryDataSet");
@SuppressWarnings("unchecked")
List<Map> records = (List<Map>) dataSet.getRecords();
Map record = records.get(0);
String id = (String) record.get("id");
String custNo = (String) record.get("custNo");
String custName = (String) record.get("custName");
//String addDate = (String) record.get("ADDDATE");
//String flag = (String) record.get("flag");
String sql1 = "update customer set custNo ='" + custNo + "',custName ='"
+ custName + "',ADDDATE=sysdate,flag = 0 where id = '"+ id+" ' ";
//执行跟新操作
stmt = conn.prepareStatement(sql1);
System.out.println(stmt.executeUpdate());
//rs = stmt.executeQuery("select * from customer ");
stmt.close();
conn.close();
//rs.close();
//ps.close();
} catch (Exception e) {
e.printStackTrace();
}
}
@SuppressWarnings("unchecked")
public void modify(Map dataSetMap, Object params) throws Exception {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
//String sql = "select * from custmor ";
Connection conn = DriverManager.getConnection
("jdbc:oracle:thin:@10.1.1.116:1522:test", "test", "test");
PreparedStatement stmt = null;
DataSet dataSet = (DataSet) dataSetMap.get("QueryDataSet");
List<Map> records = (List<Map>) dataSet.getRecords();
Map<String, Object> record = records.get(0);
String id = (String) record.get("id");
String custNo = (String) record.get("custNo");
String custName = (String) record.get("custName");
//String addDate = (String) record.get("addDate");
String sql1 = "update customer set custNo ='" + custNo + "',custName ='"
+ custName + "',ADDDATE=sysdate,flag = 0 where id = '"+ id+" ' ";
stmt = conn.prepareStatement(sql1);
stmt.executeUpdate();
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}