(1) JDBC的操作(数据库的连接)

Driver 是一个接口: 数据库厂商必须提供实现的接口 能从其中获取数据库连接
可以通过Driver的实现类对象获取数据库连接
1…加入mysql驱动
2. 解压mysql-connector-java-5.1.7.zip
3. 在当前项目下新建lib目录
4.右键 build-path , add to buildpath 加入到类路径下.

JDBC — 1

    void testDriver() throws SQLException {
    		//1. 创建一个Driver 实现类的对象
    		Driver driver = new Driver();
    		String url = "jdbc:mysql://localhost:3306/test";
    		
    		//2 准备连接数据的基本信息: url , user , password
    		Properties info = new Properties();
    		info.put("user", "root");   //登录用户为root
    		info.put("password", "");   //密码为无
    		
    		//3 调用Driver 接口的 connect(url,info) 获取数据库连接
    		Connection connection = driver.connect(url, info);
    		System.out.println(connection);
    	}
|  |  |
|--|--|
|  |  |

JDBC — 2因为user url driver 可能会改变 我们就创建一个 properties文件 在该文件中写入准备连接数据库的4个字符串 user,url,password,driver

操作我们在当前包底下创建一个File文件 命名为: jdbc.properties

编写一个通用的方法,在不修改源程序的情况下,可以获取认识数据库的连接
解决方案: 把数据库驱动Driver 实现类的全类名 url、user、password、放入一个
配置文件中 通过修改配置文件的方法实现和具体的数据库解耦

 @throws Exception 

	public Connection getConnection() throws Exception
	{
		String driverClass = null;
		String jdbcUrl = null;
		String user = null;
		String password = null;
		
		//读取类路径下的jdbc.properties 文件
		InputStream in = 
		getClass().getClassLoader().getResourceAsStream("jdbc.properties");
		Properties properties = new Properties();
		properties.load(in);
		driverClass = properties.getProperty("driver");
		jdbcUrl = properties.getProperty("jdbcUrl");
		user = properties.getProperty("user");
		password = properties.getProperty("password");
		
		//通过反射创建 Driver 对象.
		Driver driver = 
				(Driver) Class.forName(driverClass).newInstance();
				
		Properties info = new Properties();
		info.put("user", user);
		info.put("password", password);
		
		//通过Driver 的connect 方法获取数据库连接.
		Connection connection = driver.connect(jdbcUrl, info);
				
		return connection;
	}

JDBC — 3
为了改进Driver
DriverManager 是驱动的管理类
1). 可以通过重载的getConnection()方法获取数据库连接, 较为方便
2). 可以同时管理多个驱动程序:若注册了多个数据库连接
则调用getConnection() 方法是传入的参数不同,即返回不同的数据库连接。

public void testDrierManager() throws Exception
	{
		//1.  准备连接数据库的4个字符串
		//驱动的全类名
		String driverClass = "com.mysql.jdbc.Driver";
		//JDBC URL 注意:这里是在数据库名为test的目录下
		String jdbcUrl = "jdbc:mysql://localhost:3306/test";
		//user
		String user = "root";
		//password
		String password = "";
				
		//2.加载数据库驱动程序(对应的Driver 实现类中有注册驱动的静态代码块)
		Class.forName(driverClass);
		
		//3. 通过DriverManager 的getConnection() 方法获取数据库连接.
		Connection connection = 
				DriverManager.getConnection(jdbcUrl, user,password);
		System.out.println(connection);		
	}

JDBC — 4读取配置文件和调用DriverManager方法

	public Connection getConnection2() throws Exception
	{
		//1.  准备连接数据库的4个字符串
		
		//1).创建Properties 对象
		Properties properties = new Properties();
		//2)。 获取jdbc.properties 对应的输入流
		InputStream in = 
				getClass().getClassLoader().getResourceAsStream("jdbc.properties");
		
		//3). 加载2) 对应的输入流
		properties.load(in);
		
		//4). 具体决定user , password 等4个字符串
		String driver = properties.getProperty("driver");
		String jdbcUrl = properties.getProperty("jdbcUrl");
		String user = properties.getProperty("user");
		String password = properties.getProperty("password");
		
		//2.加载数据库驱动程序(对应的Driver 实现类中有注册驱动的静态代码块)
		Class.forName(driver);
		
		//3. 通过DriverManager 的getConnection() 方法获取数据库连接.
		return DriverManager.getConnection(jdbcUrl, user, password);
	}

猜你喜欢

转载自blog.csdn.net/Yuz_99/article/details/84144234