使用JDBC连接数据库的几种方法

使用java中的JDBC连接数据库(以mysql数据库为例)

方法一:使用Driver接口实现连接
步骤:
① 创建一个Driver实现累的对象

Driver driver = new Driver();

②准备连接数据库的基本信息:url、user、password
(若连接mysql数据库时产生版本不匹配的问题,这里有参考:https://editor.csdn.net/md/?articleId=118525689

String url = "jdbc:mysql://127.0.0.1:3306/test1?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=CONVERT_TO_NULL";
		Properties info = new Properties();
		info.put("user","root");
		info.put("password", "111111");

③通过Driver接口的connect(url,info)获取数据库连接

Connection conn = driver.connect(url,info);

④测试连接

System.out.println(conn);

方法二:使用ManageDriver实现连接
步骤:
①加载驱动 参数写驱动包的路径(最好用try-catch捕获异常)

Class.forName("com.mysql.cj.jdbc.Driver");

②获取连接

 conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=CONVERT_TO_NULL", "root","111111");

说明:DriverManager的getConnection()方法对应着url,user,password三个参数。
关于url的问题:因为我的mysql是8.0以上的版本,Mysql驱动与数据库字符集设置不匹配(导致系统环境变量受影响),所以在导入相匹配的jre文件后,要修改url,即在数据库名(test)后添加
?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=CONVERT_TO_NULL
③测试连接

System.out.println(conn);

方法三:创建通用的数据库连接(用到反射)
思路:
把数据库驱动Driver实现累的全类名、url、user、password放入一个配置文件中, 通过配置文件的方式实现和具体的数据库解耦

步骤:
①在src包下创建jdbc.properties文件(名可以自己取),里面配置好驱动driver、url、user、password信息(到时候可以通过更改这些信息实现对不同数据库的连接)
在这里插入图片描述

driver = com.mysql.jdbc.Driver
jdbcUrl = jdbc:mysql://127.0.0.1:3306/test1?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=CONVERT_TO_NULL
user = root
password = 111111

②读取类路径下的jdbc.properties文件

        String driverClass = null;
    	String jdbcUrl = null;
    	String user = null;
    	String password = null;
        InputStream is =getClass().getClassLoader().getResourceAsStream("jdbc.properties");
    	Properties properties = new Properties();
    	properties.load(is);
    	driverClass = properties.getProperty("driver");
    	jdbcUrl = properties.getProperty("jdbcUrl");
    	user = properties.getProperty("user");
    	password = properties.getProperty("password");

③按“方法一”步骤进行连接

Driver driver = (Driver) Class.forName(driverClass).newInstance();
    	Properties info = new Properties();
    	info.put("user", user);
    	info.put("password", password);
    	Connection conn = driver.connect(jdbcUrl, info);
 
    	return conn;

⑤测试连接

 @Test 
    public void testGetConnection() throws Exception{
    	Connection conn =  this.getConnection();
    	System.out.println(conn);
    }

OK,数据库连接pass

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值