zoukankan      html  css  js  c++  java
  • 连接数据库

    首先设置下配置文件:取名db.properties
    #mysql注释
    mysql_driver=com.mysql.jdbc.Driver
    mysql_url=jdbc:mysql://127.0.0.1:3306/test
    mysql_user=root
    mysql_pwd=123456
    
    #连接池相关参数
    #初始化连接数
    dataSource.initialSize=10
    #最大空闲数
    dataSource.maxIdle=5
    #最小空闲数
    dataSource.minIdle=2
    #最大连接数
    dataSource.maxActive=8
    #最小连接数
    dataSource.minActive=3
    #超时时间1分钟
    #单位是毫秒
    dataSource.maxWait=60000
    这是调用以上配置文件的连接数据库的代码:取名X_DBUtil
    package net.picp.mywebsite.util;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Properties;
    
    public class X_DBUtil {
    	private static String driver=null;
    	private static String url=null;
    	private static String user=null;
    	private static String password=null;
    	//读取文件的对象
    	private static Properties ps=new Properties();
    	//静态代码块,类加载的时候,只需要执行一次
    	static{
    		try {
    			ps.load(X_DBUtil.class.getClassLoader().getResourceAsStream("db.properties"));
    			driver=ps.getProperty("mysql_driver");
    			url=ps.getProperty("mysql_url");
    			user=ps.getProperty("mysql_user");
    			password=ps.getProperty("mysql_pwd");
    			//加载驱动
    			Class.forName(driver);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    //创建连接方法
    	public static Connection getConnection() throws SQLException{
    		return DriverManager.getConnection(url, user, password);
    	}
    //关闭连接方法
    	public static void closeConnection(Connection con,Statement st,ResultSet rs){
    		try {
    				if(rs!=null){
    				rs.close();
    				}
    				if(st!=null){
    					st.close();
    				}
    				if(con!=null){
    					con.close();
    				}
    			} catch (Exception e) {
    				e.printStackTrace();
    			}
    		
    	}
    	
    
    }
    这是调用以上配置文件连接池的连接数据库的代码:取名X_DBCPUtil
    package net.picp.mywebsite.util;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Properties;
    
    import org.apache.commons.dbcp.BasicDataSource;
    
    /**
     * 工具类:读取.properties文件数据,加载驱动创建连接,关闭
     * 连接池实现连接,关闭,提高性能
     * @author Administrator
     *
     */
    public class X_DBCPUtil {
    	private static String driver=null;
    	private static String url=null;
    	private static String user=null;
    	private static String password=null;
    	//读取文件的对象
    	private static Properties ps=new Properties();
    	private static BasicDataSource ds=null;
    	//静态代码块,类加载的时候,只需要执行一次
    	static{
    		try {
    			ps.load(X_DBCPUtil.class.getClassLoader().getResourceAsStream("db.properties"));
    			driver=ps.getProperty("mysql_driver");
    			url=ps.getProperty("mysql_url");
    			user=ps.getProperty("mysql_user");
    			password=ps.getProperty("mysql_pwd");
    			
    			//获取连接池相关参数
    			String initialSize=ps.getProperty("dataSource.initialSize");
    			String maxIdle=ps.getProperty("dataSource.maxIdle");
    			String minIdle=ps.getProperty("dataSource.minIdle");
    			String maxActive=ps.getProperty("dataSource.maxActive");
    			String minActive=ps.getProperty("dataSource.minActive");
    			String maxWait=ps.getProperty("dataSource.maxWait");
    			
    			ds=new BasicDataSource();
    			ds.setDriverClassName(driver);
    			ds.setUrl(url);
    			ds.setUsername(user);
    			ds.setPassword(password);
    			if(initialSize!=null){
    				ds.setInitialSize(Integer.parseInt(initialSize));			
    			}
    			if(maxIdle!=null){
    				ds.setMaxIdle(Integer.parseInt(maxIdle));
    			}
    			if(minIdle!=null){
    				ds.setMinIdle(Integer.parseInt(minIdle));
    			}
    			if(maxActive!=null){
    				ds.setMaxActive(Integer.parseInt(maxActive));
    			}
    			if(minActive!=null){
    				//DBCP没有提供最小连接数的方法
    			}
    			if(maxWait!=null){
    				ds.setMaxWait(Long.parseLong(maxWait));
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    //创建连接方法
    	public static Connection getConnection() throws SQLException{
    		Connection con=null;
    		if(ds!=null){
    			con=ds.getConnection();
    		}
    		return con;
    	}
    //归还连接方法
    	public static void releaseConnection(Connection con,Statement st,ResultSet rs){
    		try {
    				if(rs!=null){
    				rs.close();
    				}
    				if(st!=null){
    					st.close();
    				}
    				if(con!=null){
    					//归还
    					con.close();
    				}
    			} catch (Exception e) {
    				e.printStackTrace();
    			}
    		
    	}
    	
    /*	public static void main(String[] args){
    		try {
    			System.out.println(getConnection());
    		} catch (SQLException e) {
    			e.printStackTrace();
    		}
    	}*/
    	
    }
    

      注意:需要用到的jar包

    commons-dbcp.jar
    commons-pool.jar
    dom4j-1.6.1.jar
    mysql-connector-java-5.1.8-bin.jar
    ojdbc6.jar
    

      

      

  • 相关阅读:
    关于C++中如何判断文件,目录存在的若干方法
    AStyle2.02在VS2008下的使用
    opencv与wxwidgets冲突(第三方库jpeg,tiff,png,zlib所引起)
    C和C++获取文件大小的方法总结
    跨平台项目组织2
    md5函数C语言实现
    分享本人自编的一个跨平台项目:伙食管理小软件
    win7 vs2008 release mt.exe停止工作
    跨平台项目组织
    SQL注入语句 (很全)
  • 原文地址:https://www.cnblogs.com/yingyigongzi/p/9162882.html
Copyright © 2011-2022 走看看