import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.Properties; /** * * @author qyf * */ public class IPv6JdbcUtil { public static void main(String[] args) { try { boolean ipv6 = true; testDb2Connection(ipv6); testMySQLConnection(ipv6); testOracleConnection(ipv6); testSqlServerConnection(ipv6); testSybaseConnection(ipv6); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } /** * ipv4 Driver URL: * jdbc:mysql://127.0.0.1:3306/database * ipv6 Driver URL: * jdbc:mysql://address=(protocol=tcp)(host=2001:470:23:13::6)(port=3306)/database * * Deiver package version 5.1.31 以上 * * @throws ClassNotFoundException * @throws SQLException * */ public static void testMySQLConnection(boolean ipv6) throws ClassNotFoundException, SQLException { Class.forName("com.mysql.jdbc.Driver"); String jdbcIpv4Url = "jdbc:mysql://127.0.0.1:3306/databaseName"; String jdbcIpv6Url = "jdbc:mysql://address=(protocol=tcp)(host=2001:470:23:13::6)(port=3306)/database"; String jdbcUrl = ipv6 ? jdbcIpv6Url : jdbcIpv4Url; Properties jdbcProperties = new Properties(); jdbcProperties.put("user", "dbuser"); jdbcProperties.put("password", "db_password"); Connection connection = DriverManager.getConnection(jdbcUrl); System.out.println(connection); } /** * jdbc:db2://[fec0:ffff:ffff:8000:20e:cff:fe50:39c8]:50000/sample * jdbc:db2://192.168.10.10:50000/sample * * Deiver package version * <dependency> * <groupId>com.ibm.db2</groupId> * <artifactId>db2jcc4</artifactId> * <version>10.1</version> * </dependency> */ public static void testDb2Connection(boolean ipv6) throws ClassNotFoundException, SQLException { Class.forName("com.ibm.db2.jcc.DB2Driver"); String jdbcIpv4Url = "jdbc:db2://192.168.10.10:50000/sample"; String jdbcIpv6Url = "jdbc:db2://[2001:470:23:13::6]:50000/sample"; String jdbcUrl = ipv6 ? jdbcIpv6Url : jdbcIpv4Url; Properties jdbcProperties = new Properties(); jdbcProperties.put("user", "dbuser"); jdbcProperties.put("password", "db_password"); Connection connection = DriverManager.getConnection(jdbcUrl); System.out.println(connection); } /** * * ipv4 Driver URL: * jdbc:oracle:thin:@//127.0.0.1:3306/orcl * * ipv6 Driver URL: * jdbc:oracle:thin:@(DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=[fe80::5cf:72])(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=fnstdb1))) * * @see http://stackoverflow.com/questions/10647845/does-oracle-11gr2-actually-support-ipv6 * * Deiver package version * <dependency> * <groupId>com.oracle</groupId> * <artifactId>ojdbc14</artifactId> * <version>10.2.0.3.0</version> * </dependency> */ public static void testOracleConnection(boolean ipv6) throws ClassNotFoundException, SQLException { Class.forName("oracle.jdbc.OracleDriver"); String jdbcIpv4Url = "jdbc:oracle:thin:@//127.0.0.1:3306/orcl"; String jdbcIpv6Url = "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=[fe80::5cf:72])(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=fnstdb1)))"; String jdbcUrl = ipv6 ? jdbcIpv6Url : jdbcIpv4Url; Properties jdbcProperties = new Properties(); jdbcProperties.put("user", "dbuser"); jdbcProperties.put("password", "db_password"); Connection connection = DriverManager.getConnection(jdbcUrl); System.out.println(connection); } /** * ipv4 Driver URL: * jdbc:jtds:sqlserver://127.0.0.1:1433/master * ipv6 Driver URL: * jdbc:jtds:sqlserver:// * * Deiver package version * <dependency> * <groupId>net.sourceforge.jtds</groupId> * <artifactId>jtds</artifactId> * <version>1.2.4</version> * </dependency> * */ public static void testSqlServerConnection(boolean ipv6) throws ClassNotFoundException, SQLException { Class.forName("net.sourceforge.jtds.jdbc.Driver"); String jdbcIpv4Url = "jdbc:jtds:sqlserver://127.0.0.1:1433/master"; String jdbcIpv6Url = "jdbc:jtds:sqlserver://"; String jdbcUrl = ipv6 ? jdbcIpv6Url : jdbcIpv4Url; Properties jdbcProperties = new Properties(); jdbcProperties.put("user", "dbuser"); jdbcProperties.put("password", "db_password"); if (ipv6) { jdbcProperties.put("portNumber", 1433); jdbcProperties.put("instanceName ", "master"); jdbcProperties.put("serverName", "2001:470:23:13::6"); } Connection connection = DriverManager.getConnection(jdbcUrl); System.out.println(connection); } /** * ipv4 Driver URL: * jdbc:jtds:sybase://127.0.0.1:1433/master * ipv6 Driver URL: * jdbc:jtds:sybase:// * * Deiver package version * <dependency> * <groupId>net.sourceforge.jtds</groupId> * <artifactId>jtds</artifactId> * <version>1.2.4</version> * </dependency> * */ public static void testSybaseConnection(boolean ipv6) throws ClassNotFoundException, SQLException { Class.forName("net.sourceforge.jtds.jdbc.Driver"); String jdbcIpv4Url = "jdbc:jtds:sybase://127.0.0.1:1433/master"; String jdbcIpv6Url = "jdbc:jtds:sybase://"; String jdbcUrl = ipv6 ? jdbcIpv6Url : jdbcIpv4Url; Properties jdbcProperties = new Properties(); jdbcProperties.put("user", "dbuser"); jdbcProperties.put("password", "db_password"); if (ipv6) { jdbcProperties.put("portNumber", 1433); jdbcProperties.put("instanceName ", "master"); jdbcProperties.put("serverName", "2001:470:23:13::6"); } Connection connection = DriverManager.getConnection(jdbcUrl); System.out.println(connection); } }
相关推荐
以下是如何使用Java JDBC连接Oracle数据库的基本步骤: 1. 添加ojdbc.jar到项目类路径:确保你的Java项目可以访问到Oracle的JDBC驱动。 2. 创建数据库连接:使用`java.sql.DriverManager.getConnection()`方法,...
本文将深入探讨如何使用Java的JDBC(Java Database Connectivity)技术来连接DB2数据库,以及涉及的IPv4和IPv6网络连接方式。同时,我们也会介绍如何查询DB2的系统参数,以优化数据库性能。 首先,Java JDBC是Java...
MySQL 8.0是当前广泛使用的数据库管理系统,它支持多种连接方式,包括IPv4和IPv6。本资源包提供了一个全面的指南,帮助用户理解如何使用这两种网络协议连接到MySQL服务器,同时也包含了JDBC驱动包和相关的Java源代码...
jdbc 连接mysql数据库,支持ipv6访问 MySQL是目前十分流行的一种关系型数据库管理系统
7. **数据库连接方式**(java数据库的各种连接.txt):Java提供了多种方式连接数据库,包括JDBC-ODBC桥接,直接使用JDBC驱动,以及使用数据库连接池(如C3P0、DBCP、HikariCP等),后者在性能和资源管理上更优。...
2. 创建测试类,例如`JdbcTestApplicationTests.java`,使用Spring Boot的测试注解`@SpringBootTest`和`@RunWith(SpringRunner.class)`来启动整个应用上下文,并注入`DataSource`,以便进行数据库连接测试: ```java...
- Java:可以使用java.net.InetAddress类获取和解析IP地址,JDBC用于数据库操作。 ```java InetAddress addr = InetAddress.getByName("example.com"); String ip = addr.getHostAddress(); ``` 4. 工具使用:...
8. **数据库连接**:Java SE 6改进了JDBC(Java Database Connectivity),提供了更高效的数据库连接池,以及对存储过程的支持,简化了数据库操作。 9. **Swing GUI**:Swing是Java的图形用户界面库,Java 6对Swing...
1. **Java 1.0 (1996)**:这是Java的第一个正式版本,引入了JDBC(Java数据库连接)、内部类、RMI(远程方法调用)、反射和JIT(即时编译器),奠定了Java的基础。但此版本的性能较弱,依赖于外部JIT。 2. **Java ...
例如,`java.base`模块包含了语言核心功能,而其他模块如`java.sql`则专注于数据库连接。 - **jlink工具** 新增的`jlink`工具允许用户根据应用程序的实际需求创建自定义的运行时镜像,仅包含所需的JDK模块。这...
- **连接数据库**:使用JDBC API建立与数据库的连接。 - **执行SQL语句**:通过Statement或PreparedStatement对象执行SQL命令。 - **处理结果集**:使用ResultSet对象遍历查询结果。 通过上述知识点的学习,我们...
在Java编程语言中,API的应用尤为广泛,比如JDBC、JavaMail等API允许开发者进行数据库操作、发送电子邮件等。 AWT(Abstract Window Toolkit)是Java的一个图形用户界面工具包,它包含了一组丰富的组件(components...
核心知识点包括Java的GUI设计(如Swing或JavaFX)、数据库连接(JDBC)和事务处理。 2. **打飞机游戏**:这类项目主要涉及游戏逻辑设计、动画效果实现、碰撞检测以及分数计算等。Java的图形库如Java2D或JavaFX可...
平安Java开发面试题的知识点涵盖广泛,从计算机网络到数据库,从设计模式到多线程编程等,体现了对Java开发者全面考察的要求。以下是根据给出的文件【部分内容】所提取的详细知识点: 1. **计算机网络与网络协议**...
6. **数据库连接池**:JDBC 4.0引入了连接池的自动管理,简化了数据库连接的管理。 7. **元注解**:元注解的引入使得开发者可以在编译时或运行时处理注解,扩展了注解的使用范围。 8. **并发工具**:提供了一套新...
3. **Java Database Connectivity (JDBC) 4.0**:引入了自动发现数据库驱动和更强的连接池管理。 4. **Java Management Extensions (JMX)**:改进了远程监控和管理功能。 5. **动态语言支持**:通过JSR 223引入了对...
反射技术广泛应用于框架和库的开发中,如Spring框架依赖注入、JDBC数据库连接等。 ### 正则表达式 正则表达式是一种用于匹配字符串的强大工具,可用于验证输入数据格式、文本搜索和替换等,Java中的`Pattern`和`...
九、JDBC与数据库连接 JDBC API在JDK6中得到了进一步完善,支持预编译的PreparedStatement对象的批处理,提高了数据库操作的效率。 十、安全管理 JDK6的安全模型更加成熟,通过`java.security`包提供的类和接口,...