• server用JDBC对mysql数据库进行操作



    1:获取数据库连接

    Connection connection=getConnection();

    2:准备SQL语句

    3:调用Connection的creatStatement()方法获取Statement对象运行SQL语句

    (注:Statement对象处理的SQL语句仅仅能是INSERT,UPDATE或DELETE)
    statement=connection.createStatement();
    statement.execute(SQL);

    4:关闭Statement对象

    5:关闭数据库连接


    将数据库连接等操作进行封装:

    附:JDBCTools.java
    /**
     * JDBC 的工具类
     * 
     * 当中包括: 获取数据库连接, 关闭数据库资源等方法.
     */
    public class JDBCTools {
    	
    	//处理数据库事务的
    	//提交事务
    	public static void commit(Connection connection){
    		if(connection != null){
    			try {
    				connection.commit();
    			} catch (SQLException e) {
    				e.printStackTrace();
    			}
    		}
    	}
    	
    	//回滚事务
    	public static void rollback(Connection connection){
    		if(connection != null){
    			try {
    				connection.rollback();
    			} catch (SQLException e) {
    				e.printStackTrace();
    			}
    		}
    	}
    	
    	//開始事务
    	public static void beginTx(Connection connection){
    		if(connection != null){
    			try {
    				connection.setAutoCommit(false);
    			} catch (SQLException e) {
    				e.printStackTrace();
    			}
    		}
    	}
    	
    	private static DataSource dataSource = null;
    
    	//数据库连接池应仅仅被初始化一次. 
    	static{
    		dataSource = new ComboPooledDataSource("helloc3p0");
    	}
    	
    	public static Connection getConnection() throws Exception {
    		return dataSource.getConnection();
    	}
    
    	public static void releaseDB(ResultSet resultSet, Statement statement,
    			Connection connection) {
    
    		if (resultSet != null) {
    			try {
    				resultSet.close();
    			} catch (SQLException e) {
    				e.printStackTrace();
    			}
    		}
    
    		if (statement != null) {
    			try {
    				statement.close();
    			} catch (SQLException e) {
    				e.printStackTrace();
    			}
    		}
    
    		if (connection != null) {
    			try {
    				//数据库连接池的 Connection 对象进行 close 时
    				//并非真的进行关闭, 而是把该数据库连接会归还到数据库连接池中. 
    				connection.close();
    			} catch (SQLException e) {
    				e.printStackTrace();
    			}
    		}
    	}
    
    }
    


    附:MySqlTools.java,对数据库进行操作
    	public static void update(String SQL){
    		Connection connection = null;
    		Statement statement=null;
    		try {
    			connection = JDBCTools.getConnection();
    			statement=connection.createStatement();
    			statement.execute(SQL);
    			
    		} catch (Exception e) {
    			e.printStackTrace();
    		} finally {
    			JDBCTools.releaseDB(null, null, connection);
    		}
    	}



  • 相关阅读:
    LeetCode 83. Remove Duplicates from Sorted List (从有序链表中去除重复项)
    LeetCode 21. Merge Two Sorted Lists (合并两个有序链表)
    LeetCode 720. Longest Word in Dictionary (字典里最长的单词)
    LeetCode 690. Employee Importance (职员的重要值)
    LeetCode 645. Set Mismatch (集合不匹配)
    LeetCode 500. Keyboard Row (键盘行)
    LeetCode 463. Island Perimeter (岛的周长)
    115.Distinct Subsequences
    55.Jump Game
    124.Binary Tree Maximum Path Sum
  • 原文地址:https://www.cnblogs.com/wzjhoutai/p/7047232.html
Copyright © 2020-2023  润新知