• Servlet使用适配器模式进行增删改查案例(BaseDao.java)


    package org.dao;
    
    import java.io.FileReader;
    import java.io.IOException;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.List;
    import java.util.Properties;
    
    
    /**
     * 
    *    
    * 项目名称:二期结业项目   
    * 类名称:BaseDao   
    * 类描述:   数据库操作常用类
    * 创建人:Mu Xiongxiong  
    * 创建时间:2017-9-7 上午10:37:53   
    * 修改人:Mu Xiongxiong   
    * 修改时间:2017-9-7 上午10:37:53   
    * 修改备注:   
    * @version    
    *
     */
    public class BaseDao {
    
    	private static 			Connection 							con							=					null;
    
    	//数据库驱动
    	private static 			String 								driver						=					"";
    	
    	//连接字符串
    	private static 			String 								url							=					"";
    	
    	//数据库用户名
    	private static 			String 								user						=					"";
    	
    	//密码
    	private static	 		String 								pwd							=					"";
    	
    	//初始化PreparedStatement,编译sql语句
    	private static 			PreparedStatement 					ps							=					null;
    	
    	//初始化ResultSet数据集
    	private static 			ResultSet 							rs							=					null;
    	
    	  
    
    	/**
    	 * 
    	* @Description: 该方法的主要作用:打开连接,连接数据库
    	* @Title: getConnection
    	* @param  @return
    	* @param  @throws ClassNotFoundException
    	* @param  @throws SQLException 设定文件  
    	* @return  返回类型:Connection   
    	* @throws
    	 */
    	public static Connection getConnection() throws ClassNotFoundException, SQLException{
    		Properties pro = new Properties();
    		  try {
    		 //  pro.load(BaseDao.class.getResourceAsStream("jdbc.properties"));
    			  pro.load(new FileReader("src\jdbc.properties"));
    		  } catch (IOException e1) {
    		   e1.printStackTrace();
    		  }
    		   url			 	= 				pro.getProperty("url");
    		   user 			= 				pro.getProperty("username");
    		   pwd 			= 				pro.getProperty("password");
    		   driver 			= 				pro.getProperty("driver");
    		Class.forName(driver);
    		if(con==null){
    			con = DriverManager.getConnection(url,user,pwd);
    		}
    		return con;
    	}
    	
    	/**
    	 * 
    	* @Description: 该方法的主要作用:增删改通用的方法
    	* @Title: executeUpdate
    	* @param  @param sql
    	* @param  @param prams
    	* @param  @return
    	* @param  @throws ClassNotFoundException
    	* @param  @throws SQLException 设定文件  
    	* @return  返回类型:int   
    	* @throws
    	 */
    	public static int executeUpdate(String sql,List<Object> prams) throws ClassNotFoundException, SQLException{
    		int 			rel			=			0;
    						con 			= 			getConnection();
    						ps			=			con.prepareStatement(sql);
    		if(prams!=null){
    			for (int i = 0; i <prams.size(); i++) {
    				ps.setObject(i+1, prams.get(i));
    			}
    		}
    						rel			=		ps.executeUpdate();	
    		return rel;
    	}
    	
    	/**
    	 * @throws SQLException 
    	 * @throws ClassNotFoundException 
    	 * 
    	* @Description: 该方法的主要作用:查询的通用方法
    	* @Title: executeQuery
    	* @param  @param sql
    	* @param  @param prams
    	* @param  @return 设定文件  
    	* @return  返回类型:ResultSet   
    	* @throws
    	 */
    	public static ResultSet executeQuery(String sql,List<Object>prams) throws ClassNotFoundException, SQLException{
    		con 		=			getConnection();
    		ps 		=			con.prepareStatement(sql);
    		if(prams!=null){
    			for (int i = 0; i < prams.size(); i++) {
    				ps.setObject(i+1, prams.get(i));
    			}
    		}
    		rs			=		ps.executeQuery();
    		return rs;
    	}
    	
    	/**
    	 * 
    	* @Description: 该方法的主要作用:关闭资源
    	* @Title: closeConnnection
    	* @param   设定文件  
    	* @return  返回类型:void   
    	* @throws
    	 */
    	public static void closeConnnection(){
    	//关闭之前先判断是否为null
    		if(rs!=null){
    			try {
    				rs.close();
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    		if(ps!=null){
    			try {
    				ps.close();
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    		
    		if(con!=null){
    			try {
    				con.close();
    				con=null;
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    		
    	}
    	
    	public static void main(String[] args) {
    		try {
    			System.out.println(getConnection());
    		} catch (ClassNotFoundException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    	
    }
    

  • 相关阅读:
    Java Object part1
    StringBuffer StringBuilder append
    Java equal
    java Classloader
    Java NIO
    Oracle中Blob和Clob
    Java8 Lambda 表达式
    HashMap分析 + 哈希表
    android自定义控件之滚动广告条
    android自定义控件之模仿优酷菜单
  • 原文地址:https://www.cnblogs.com/a1111/p/12816185.html
Copyright © 2020-2023  润新知