java调用存储过程进行增、删、查、改操作(源代码)

来源:互联网 发布:包装设计 知乎 编辑:程序博客网 时间:2024/05/29 08:49
--java代码
package sini.dal.rights.impl;

import sini.dal.rights.IBase;

public class ImplFactory {
 /**
  * 根据java反射获得IBase的对象,工厂类
  * @param className
  * @return 一个类的接口
  * @throws InstantiationException
  * @throws IllegalAccessException
  * @throws ClassNotFoundException
  */
 public static IBase getInstance(String className)throws InstantiationException, IllegalAccessException, ClassNotFoundException {
  return (IBase)Class.forName(className).newInstance();
 }
}

 


package sini.dal.rights;

public interface IBase {

}


package sini.dal.rights.impl;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;

public class BaseImpl {
 public Connection conn=null;
 public CallableStatement sta=null;
 public ResultSet rs=null;
 /**
  *
  * @throws SQLException
  */
 public void close()throws SQLException{
  if(conn!=null){
   conn.close();
   conn=null;
  }
  if(sta!=null){
   sta.close();
   sta=null;
  }
  if(rs!=null){
   rs.close();
   rs=null;
  }
 }
}

 

package sini.dal.rights;


import java.util.List;

import sini.model.rights.MenuBean;


public interface MenuDao extends IBase{
    /**
     *
     * @param menu
     * @return
     * @throws Exception
     */
    public int add(MenuBean menu)throws Exception;
   
    /**
     *
     * @param menu
     * @return
     * @throws Exception
     */
    public boolean update(MenuBean menu)throws Exception;
   /**
    *
    * @param entity
    * @param id
    * @return
    * @throws Exception
    */
    public MenuBean findById(String entity,int id)throws Exception;
    /**
     *
     * @param pagesize(每页记录数)
     * @param pageNow(当前页码)
     * @param sqlselect(查询语句,含排序部分)
     * @param sqlCount(获取记录总数的查询语句)
     * @return
     * @throws Exception
     */
    public List<MenuBean> menupage(int pagesize,int pageNow,String sqlselect,String sqlCount)throws Exception;
}


package sini.dal.rights.impl;

import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import oracle.jdbc.OracleTypes;
import sini.conn.rights.DbConnection;
import sini.dal.rights.MenuDao;
import sini.model.rights.MenuBean;

public class MenuDaoImpl extends BaseImpl implements MenuDao{

 public int add(MenuBean menu)throws Exception{
  int menuid=0;
  try{
   conn=DbConnection.getConnection();
   sta=conn.prepareCall("{call pkg_rights.addMenu(?,?,?,?,?,?)}");
   sta.setLong(1, menu.getPid());
   sta.setString(2, menu.getName());
   sta.setShort(3, menu.getLayout());
   sta.setString(4, menu.getSrc());
   sta.setString(5, menu.getMgrsrc());
   sta.registerOutParameter(6, OracleTypes.INTEGER);
   sta.execute();
   menuid=sta.getInt(6);
  }catch(Exception e){
   e.printStackTrace();
  }finally{
   close();
  }
  return menuid;
 }

 public MenuBean findById(String entity,int id)throws Exception{
  MenuBean menu=new MenuBean();
  try{
   conn=DbConnection.getConnection();
   sta=conn.prepareCall("{call pkg_rights.findDataByid(?,?,?)}");
   sta.setString(1, entity);
   sta.setInt(2, id);
   sta.registerOutParameter(3, OracleTypes.CURSOR);
   sta.execute();
   rs=(ResultSet)sta.getObject(3);
   while(rs.next()){
    menu.setMid(rs.getLong(2));
    menu.setPid(rs.getLong(3));
    menu.setName(rs.getString(4));
    menu.setLayout(rs.getShort(5));
    menu.setSrc(rs.getString(6));
    menu.setMgrsrc(rs.getString(7));
    menu.setDel(rs.getShort(8));
    menu.setRelease(rs.getShort(9));
   }
  }catch(Exception e){
   e.printStackTrace();
  }finally{
   close();
  }
  return menu;
 }

 public boolean update(MenuBean menu)throws Exception{
  boolean flag=false;
  try{
   conn=DbConnection.getConnection();
   sta=conn.prepareCall("{call pkg_rights.updateMenu(?,?,?,?,?,?,?,?)}");
   sta.setLong(1, menu.getMid());
   sta.setLong(2,menu.getPid());
   sta.setString(3, menu.getName());
   sta.setShort(4, menu.getLayout());
   sta.setShort(5, menu.getDel());
   sta.setShort(6, menu.getRelease());
   sta.setString(7, menu.getSrc());
   sta.setString(8, menu.getMgrsrc());
   sta.execute();
   flag=true;
  }catch(Exception e){
   e.printStackTrace();
  }finally{
   close();
  }
  return flag;
 }

 public List<MenuBean> menupage(int pagesize, int pageNow, String sqlselect,
   String sqlCount) throws Exception {
  List<MenuBean> list=new ArrayList<MenuBean>();
  int count=0;
  try{
   conn=DbConnection.getConnection();
   sta=conn.prepareCall("{call pkg_rights.sp_Page(?,?,?,?,?,?)}");
   sta.setInt(1,pagesize);
   sta.setInt(2,pageNow);
   sta.setString(3, sqlselect);
   sta.setString(4,sqlCount);
   sta.registerOutParameter(5, OracleTypes.INTEGER);
   sta.registerOutParameter(6, OracleTypes.CURSOR);
   sta.execute();
   count=sta.getInt(5);
   rs=(ResultSet)sta.getObject(6);
   while(rs.next()){
    MenuBean menu=new MenuBean();
    menu.setMid(rs.getLong(2));
    menu.setPid(rs.getLong(3));
    menu.setName(rs.getString(4));
    menu.setLayout(rs.getShort(5));
    menu.setSrc(rs.getString(6));
    menu.setMgrsrc(rs.getString(7));
    menu.setDel(rs.getShort(8));
    menu.setRelease(rs.getShort(9));
    list.add(menu);
   }
  }catch(Exception e){
   e.printStackTrace();
  }finally{
   close();
  }
  return list;
 }

}

原创粉丝点击