java学习-JDBC连接数据库以及操作数据库以及blob类型数据

1.JDBC连接数据库思路图解:

以上图片是连接的一种最基本的调用关系

以下是常用的连接的一种方式:


package studyjava;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

public class day_3 {
    public static void main(String[] args) throws SQLException, Exception {
        InputStream resourceAsStream =
                day_3.class.getClassLoader().getResourceAsStream("jdbc.properties");
        Properties pros = new Properties();
        pros.load(resourceAsStream);
        String driverClass = pros.getProperty("driverClass");
        String url = pros.getProperty("url");
        String userName = pros.getProperty("user");
        String password = pros.getProperty("password");
        
        //2.加载驱动
        Class.forName(driverClass);
        //3.获取连接
        Connection conn = DriverManager.getConnection(url, userName, password);
        System.out.println(conn);
    }
}


2.操作数据库思路图解

连接数据库工具类 JDBCUtils.java    :

连接信息直接修改 该图片中文件的信息即可:

用的时候  直接连接调用该类中的getConnection方法即可

关闭数据源直接调用closeResource方法

package com.util;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Properties;

/**
 * 数据库连接的通用类,提供连接数据库、关闭数据源等操作
 */
public class JDBCUtils {
	
	/**
	 * 关闭资源的操作 
	 * @param conn
	 * @param ps
	 */
	public static void closeResource(Connection conn,PreparedStatement ps){
		if(conn != null){
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
			
		}
		if(ps != null){
			try {
				ps.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
			
		}
	}
	
	/**
	 * 获取数据库连接
	 */
	public static Connection getConnection() throws Exception {
		// 1.加载配置文件,读取4个基本信息  也就是在jdbc.properties文件中有driver url  username password信息
		InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("jdbc.properties");
		Properties pros = new Properties();
		pros.load(is);
		String driverClass = pros.getProperty("driverClass");
		String url = pros.getProperty("url");
		String userName = pros.getProperty("userName");
		String password = pros.getProperty("password");

		// 2.加载驱动  利用反射的原理
		Class.forName(driverClass);
		// 3.获取连接
		Connection conn = DriverManager.getConnection(url, userName, password);
		return conn;

	}

}

增删改  数据库表的信息通用工具类:

/**
*@paramsql语句
*@param利用可变形参来表示sql中的占位符
*/
public void update(String sql,Object ...objs){
    
		Connection conn = null;
		PreparedStatement ps = null;
		try {
			//1.获取数据库的连接
			conn = JDBCUtils.getConnection();
			//2.通过连接,获取PreparedStatement的实例
			ps = conn.prepareStatement(sql);
			
			//3.填充占位符
			for(int i = 0; i < objs.length;i++){
				ps.setObject(i + 1, objs[i]);
			}
			
			//4.执行操作
			ps.execute();
			
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			//5.关闭连接等操作
			JDBCUtils.closeResource(conn, ps);
			
		}
	}

查询方法:

java获取列名和列类型::java获取数据库的列名、类型等信息

https://www.cnblogs.com/henuyuxiang/p/6155935.html

数据库中blob数据类型:

猜你喜欢

转载自blog.csdn.net/Taylor_Ocean/article/details/88966885