• JDBC之BaseDao类


    package com.it.util;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    
    /**
     * 数据库操作工具类
     * 7个属性 4个方法(连接方法 关闭资源方法 通用查询方法 通用增删改方法)
     */
    public class BaseDao {
    	private static final String DRIVER = "oracle.jdbc.driver.OracleDriver";
    	private static final String URL = "jdbc:oracle:thin:@localhost:1521:orcl";
    	private static final String USERNAME = "system";
    	private static final String PASSWORD = "ok";
    	//con
    	public Connection con = null;
    	//pstmt
    	public PreparedStatement pstmt = null;
    	//rst
    	public ResultSet rst = null;
    	/*
    	 * 获取连接方法
    	 */
    	public void getCon(){
    		try {
    			Class.forName(DRIVER);
    			con = DriverManager.getConnection(URL, USERNAME, PASSWORD);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    	
    	/*
    	 * 关闭资源 从内到外关闭
    	 */
    	public void closeAll(){
    		try {
    			if(rst != null){
    				rst.close();
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		try {
    			if(pstmt != null){
    				pstmt.close();
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		try {
    			if(con != null){
    				con.close();
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    	
    	/*
    	 * sql:sql语句
    	 * params:参数(填充sql中?的参数数组)
    	 */
    	public void commonQuery(String sql,Object[]params){
    		try {
    			//获取连接
    			this.getCon();
    			//获取执行sql对象
    			pstmt = con.prepareStatement(sql);
    			//对?处理,下标从1开始
    			for (int i = 0; i < params.length; i++) {
    				pstmt.setObject(i+1, params[i]);
    			}
    			//获取结果集
    			rst = pstmt.executeQuery();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    	
    	public int commonUpdate(String sql,Object[]params){
    		int r = -1;
    		try {
    			//获取连接
    			this.getCon();
    			//获取执行sql对象
    			pstmt = con.prepareStatement(sql);
    			//对?处理
    			for (int i = 0; i < params.length; i++) {
    				pstmt.setObject(i+1, params[i]);
    			}
    			//获取受影响行数
    			r = pstmt.executeUpdate();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		return r;
    	}
    }
    

  • 相关阅读:
    TCP 登录实现代码
    网络编程步骤 乔老师整理
    网络编程步骤 乔老师整理
    UDP 编程 客服咨询回复
    UDP 编程 客服咨询回复
    利用java在服务器和客服端建立连接,进行通讯(代码实例)
    利用java在服务器和客服端建立连接,进行通讯(代码实例)
    InetAddress 类简介
    InetAddress 类简介
    Mysql并发时经典常见的死锁原因及解决方法
  • 原文地址:https://www.cnblogs.com/archermeng/p/7537453.html
Copyright © 2020-2023  润新知