zoukankan      html  css  js  c++  java
  • JDBC 使用和配置

    /**
     * 数据库工具类,封装数据库操作中多次使用的数据库操作代码
     * @author Administrator
     *
     */
    public class DBUtils {
    	
    	public static Connection getConnection() {
    
    		Connection connection = null;
    		try {
    
    			Class.forName("com.mysql.jdbc.Driver");
    
    			String databaseName = "jdbc_test";
    			String url = "jdbc:mysql://localhost:3306/" + databaseName;
    			String user = "root";
    			String password = "111";
    
    			connection = DriverManager.getConnection(url, user, password);
    
    		} catch (ClassNotFoundException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		return connection;
    
    	}
    
    }
    

    *Connection connection = DBUtils.getConnection(); 

    *PreparedStatement preparedStatement = connection.prepareStatement(sql);

    *ResultSet resultSet = preparedStatement.executeQuery();

    以上三个流都需要进行关闭  也都可以用try - with - resource 进行关闭  (自动关闭  不需要手动)

     *   jdbc.properties

    url=jdbc:mysql://localhost:3306/test104
    user=root
    password=123456

    package com.zhiyou100.util;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.util.Properties;
    
    public enum DBUtils {
    
    	/*
    	 * 单例通过枚举实现,枚举最后一个单词后以 ; 结尾
    	 * 构造方法都是 private 修饰,不让通过 new 构造方法创建对象
    	 * static 方法中只能使用 static 变量,不能使用类的实例变量(属性,全局变量)
    	 */
    	INSTANCE;
    	
    	private String url;
    	
    	private String user;
    	
    	private String password;
    	
    	private DBUtil() {
    		try {
    			InputStream inputStream = DBUtils.class.getClassLoader().getResourceAsStream("jdbc.properties");
    
    			Properties properties = new Properties();
    			
    			properties.load(inputStream);
    			
    			url = properties.getProperty("url");
    
    			user = properties.getProperty("user");
    
    			password = properties.getProperty("password");
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    	
    	public Connection getConnection() {
    
    		Connection conn = null;
    
    		try {
    
    			Class.forName("com.mysql.jdbc.Driver");
    
    			// 读取编译后的 class 文件夹下的某一个文件
    			conn = DriverManager.getConnection(url, user, password);
    
    		} catch (ClassNotFoundException e) {
    
    			e.printStackTrace();
    		} catch (SQLException e) {
    
    			e.printStackTrace();
    		} 
    
    		return conn;
    	}
    }
    

      

     

  • 相关阅读:
    【jQuery Case Study 1】Site:cssninjas.com
    PostgreSQL HA双机热备份配置
    PogreSQL物理备份与逻辑备份
    转:truncate,delete和drop删除表的异同
    pgsequence序列的用例
    Linux下端口占用的解决方法
    Linux下脚本的编写和执行
    schema模式的选用
    pg数据库基础备份的注意事项
    PostgreSQL VMCC多版本并发控制
  • 原文地址:https://www.cnblogs.com/niuxiao12---/p/7418896.html
Copyright © 2011-2022 走看看