关于“几种常用DB驱动和DB连接串小结”的攻略,以下是详细的介绍和示例说明。
1. 常见的DB驱动
在Java中常用的DB驱动主要有以下几种:
1.1 MySQL驱动
MySQL驱动目前最常用的是Connector/J,它是MySQL官方提供的Java驱动程序。可以从MySQL官网下载到最新的MySQL驱动。
1.2 Oracle驱动
Oracle官方提供的驱动程序有两种:ojdbc.jar(JDBC Thin Driver)和ocijdbc.jar(JDBC OCI Driver),其中JDBC Thin Driver是纯Java的驱动程序,而JDBC OCI Driver则需要安装Oracle客户端并设置环境变量。
1.3 PostgreSQL驱动
PostgreSQL驱动可以通过在maven中导入jdbc驱动来获取,具体命令如下:
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.18</version>
</dependency>
2. DB连接串
Java中连接数据库的方式一般有两种:使用JDBC API或使用ORM框架。无论采用哪种方式,都需要设置数据库连接串。
2.1 JDBC连接串
JDBC连接串的常规格式是:
jdbc:subprotocol://[host[:port]][/database][?property1=value1&property2=value2...]
其中,subprotocol是数据库驱动程序的名称。
以MySQL为例,它的JDBC连接串格式如下:
jdbc:mysql://[host][:port]/[database][?property1=value1&property2=value2...]
2.2 ORM框架连接串
在使用ORM框架时,连接串的格式因框架而异。例如,使用Hibernate时,连接串的格式如下:
hibernate.connection.url=jdbc:mysql://[host][:port]/[database][?property1=value1&property2=value2...]
3. 示例说明
下面我们通过示例来详细说明这两种连接串的应用:
3.1 JDBC连接串示例
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class JdbcDemo {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC";
String user = "root";
String password = "123456";
String sql = "SELECT * FROM user WHERE id=?";
try(Connection conn = DriverManager.getConnection(url, user, password);
PreparedStatement ps = conn.prepareStatement(sql)) {
ps.setInt(1, 1);
try(ResultSet rs = ps.executeQuery()) {
while(rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
String email = rs.getString("email");
System.out.println(id + "\t" + name + "\t" + email);
}
}
} catch(SQLException e) {
e.printStackTrace();
}
}
}
3.2 ORM框架连接串示例
@Configuration
@EnableTransactionManagement
@MapperScan(basePackages = "com.example.demo.mapper")
public class MybatisConfig {
@Bean
public DataSource dataSource() {
HikariConfig config = new HikariConfig();
config.setJdbcUrl("jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC");
config.setUsername("root");
config.setPassword("123456");
return new HikariDataSource(config);
}
@Bean
public SqlSessionFactory sqlSessionFactory() throws Exception {
MybatisSqlSessionFactoryBean sessionFactory = new MybatisSqlSessionFactoryBean();
sessionFactory.setDataSource(dataSource());
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
try {
sessionFactory.setMapperLocations(resolver.getResources("classpath:mapper/*.xml"));
} catch (IOException e) {
e.printStackTrace();
}
return sessionFactory.getObject();
}
}
以上就是关于几种常用DB驱动和DB连接串小结的攻略说明,希望对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:几种常用DB驱动和DB连接串小结 - Python技术站