7

FH-Admin的个人空间

 3 years ago
source link: https://my.oschina.net/fhadmin/blog/5020392
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

jdbc数据库连接方式(迭代)

方式五为最终版本

	@Test
	public void testConnection() throws SQLException {
//		1.获取Driver的实现类对象
		Driver driver =new com.mysql.jdbc.Driver();
		//url:http://localhost:8080/gmail/key.jpg
//		jdbc:mysql:协议
//		localhost:ip地址
//		3306  默认mysql端口号
//		test:test数据库
		String 			              url="jdbc:mysql://localhost:3306/test";
//		将用户名和密码封装在Properties
		Properties info=new Properties();
		
		info.setProperty("user", "root");
		info.setProperty("password","root");
		Connection con=driver.connect(url,info);
		System.out.println(con);
	}
//	方式二  对方式一的迭代
//	在如下的程序中不出现第三方的API,使程序具有更好的可移植性
//java项目www.fhadmin.org
	@Test
	public void testConnections() throws Exception {
//	1.获取Driver实现类对象,使用反射
	 Class cla=Class.forName("com.mysql.jdbc.Driver");
	 Driver driver=(Driver)cla.newInstance();
	 
//	 2.提供连接的数据库
	 String url="jdbc:mysql://localhost:3306/test";
//	 3.提供连接需要的用户名和密码
	 Properties info=new Properties();
	 info.setProperty("user", "root");
	 info.setProperty("password", "root");
//	 4.获取连接
	 Connection con=driver.connect(url, info);
	 System.out.println(con);
	}
//	方式三:使用DriverManager替换Driver
//java项目www.fhadmin.org
	@Test
	public void testConnection3() throws Exception {
		
//		1.获取Driver 实现类对象
		Class clazz=Class.forName("com.mysql.jdbc.Driver");
		Driver driver=(Driver)clazz.newInstance();
		
//		2.提供另外三个连接信息
		String url="jdbc:mysql://localhost:3306/test";
		String user="root";
		String password="root";
//		注册驱动
		DriverManager.registerDriver(driver);
//		获取连接
		Connection con=DriverManager.getConnection(url,user,password);
		System.out.println(con);
	}
//	方式四:可以只是加载驱动,不用显示的注册驱动了
//java项目www.fhadmin.org
	@Test
	public void testConnection4() throws Exception {
//	1.提供三个连接的基本信息
		String url="jdbc:mysql://localhost:3306/test";
		String user="root";
		String password="root";
//	2.加载Driver
		Class.forName("com.mysql.jdbc.Driver");
//		相较于方式三,可以省略如下操作
//		Driver driver=(Driver)clazz.newInstance();
//		注册驱动
//		DriverManager.registerDriver(driver);
//		为什么可以:
		
		/*在MySQL的Driver实现类中声明了静态代码块来实现注册驱动
		 * 
		 */
//	3.获取连接
		Connection con=DriverManager.getConnection(url,user,password);
		System.out.println(con);
	}

方式五(最终版本)

//	方式五:将数据库连接需要的4个信息
	/*java项目www.fhadmin.org
	 * 好处:
	 * 1.实现了数据与代码的分离,实现了解耦
	 * 2.如果需要修改配置文件信息,可以避免程序重新打包
	 */
	@Test
	public void getConnection5() throws Exception {
//		1.读取配置文件中的4个基本信息
	InputStream is= JdbcCreat1.class.getClassLoader().getResourceAsStream("jdbc.properties");
	Properties pro = new Properties();
	pro.load(is);
	String user=pro.getProperty("user");
	String password=pro.getProperty("password");
	String url=pro.getProperty("url");
	String driverClass=pro.getProperty("driverClass");
//	2.加载驱动
	Class.forName(driverClass);
//	3.获取连接
	Connection con = DriverManager.getConnection(url,user,password);
	System.out.println(con);
	}
}
  • 附带的配置文件

    user=root
    password=root
    url=jdbc:mysql://localhost:3306/test
    driverClass=com.mysql.jdbc.Driver

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK