扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
//组合使用 command,template,proxy,decorator,filter,chain等设计模式
//实现了类似aop功能,轻松实现日志,权限,连接,事务等问题
//拥有一个超强魔力的action基类
//还可以覆盖实现preHandler,postHandler,exceptionHandler
//做各种各样的前置后置异常处理等动作
//在这里你可以看到struts,webwork,spring mvc等框架的影子
//BaseAction extends Action
//XXXAction extends BaseAction
//一个action多个操作
//根据method参数 ,利用反射调用相应的execute方法,如execute_query
//可采用传统mvc框架配置也可零配置,在jsp页面里直接调用action
public class UserAction extends BaseAction{
public String execute()throws Exception{
return execute_query();
}
public String execute_query()throws Exception{
createTable();
String sql = "select * from t_user";
conn=DBUtil.getConn();
//just get connection
//close,commit,rollback,
//exception handle in parent class
//all is auto
//连接的释放,事务处理,异常处理,日志,权限 在父类进行
//手动开启事务,调用start()方法即可,
//其后的所有数据库操作将纳入事务管理容器,
//自动提交,回滚,关闭Connection
//当然不支持分布式事务,不过应付一般的项目足以
//简单的crud操作,在action里直接调用jdbc封装类
//如果业务复杂,则可用service包裹,注入connection即可
//关于分层设计,该分的时候分,该合的时候合
Map map = PagedUtil.queryString(conn,sql,1,1,request);
//分页查询,两个标志位分别表示主键列数,是否显示chechbox,供选择记录进行查看,编辑,删除操作
//返回数据表格和工具条,key值分别为data 和 page_bar
//如果是大数据量查询,可设置db_query_max_row 参数
add(map);
return "q";
//如果在jsp页面里直接调用则返回null即可,
//Action action = new UserAction();
//action.run(request,response,"query");
//run(request,respnse,"method_name");
// user$query.do
// user$method.do
// 根据method参数 ,利用反射调用相应的execute方法,如execute_query
//execute 命名方法
}
public String execute_input()throws Exception{
return "input";
}
public String execute_insert()throws Exception{
String table = "t_user";
String cols = "id,name,hh,ww,birth_day";
int autoPK = 1;
conn=DBUtil.getConn();
DBUtil.insert(conn,table,cols,autoPK,model);
return "!query";
}
public String execute_edit()throws Exception{
Map user = null;
String objectid = (String)model.get("objectid");
String sql = "select * from t_user where id='"+objectid+"'";
conn = DBUtil.getConn();
user = DBUtil.queryOne(conn,sql,null);
//sql = "select * from t_user where id=?"
//user = DBUtil.queryOne(conn,sql,new Object[]{objectid});
if(user==null){
return "no_object";
}
model.put("user",user);
return "edit";
}
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者