数据源有2种:
普通数据源 即数据库驱动自带的数据源
连接池 包括数据库驱动自带的连接池,以及DBCP、C3P0等常用的第三方连接池。
数据库驱动自带的数据源
1 //从properties文件加载数据源配置
2 Properties properties = newProperties();3 InputStream is = Class.forName("test.Test").getResourceAsStream("/mysqlDataSource.properties");4 properties.load(is);5 String url=properties.getProperty("url");6 String user = properties.getProperty("user");7 String password = properties.getProperty("password");8
9 //设置普通数据源,因为使用的是MysqlDataSource类,驱动自然只能是mysql的驱动,这个类已经把数据库驱动设置好了,不用我们设置。
10 MysqlDataSource mysqlDataSource = newMysqlDataSource();11 mysqlDataSource.setUrl(url); //还有个方法setURL(),这2个方法完全一样,因为setURL()的函数体就是调用setUrl()12 mysqlDataSource.setUser(user);13 mysqlDataSource.setPassword(password);14
15 //获取连接,操作数据库
16 Connection connection =mysqlDataSource.getConnection();17 String sql = "insert into student_tb (name,age,score) values (?,?,?)";18 PreparedStatement preparedStatement =connection.prepareStatement(sql);19 preparedStatement.setString(1,"chy");20 preparedStatement.setInt(2,20);21 preparedStatement.setInt(3,100);22 preparedStatement.executeUpdate();23 preparedStatement.close();24 connection.close();
我导入的是Mysql的数据库驱动,mysql驱动提供的自然是mysql数据源,已经默认注册了mysql数据库驱动,我们不必手动注册。如果导入的其他数据库的驱动,提供的自然就是该种数据库的数据源。
一般来说,数据库驱动都会提供2种数据源:普通数据源、连接池。
mysql驱动提供的普通数据源是MysqlDataSource,连接池是MysqlConnectionPoolDataSource,看名字就知道是连接池数据源。
数据库驱动自带的连接池
1 //从properties文件加载数据源配置
2 Properties properties = n