方法一:使用Java标准库中的JDBC接口来创建数据库连接
public class DB {
String driver = "com.mysql.cj.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/book?serverTimezone=GMT%2B8";
String user = "root";
String pwd = "123456";
Connection conn;
public Connection getC(){
try {
Class.forName(driver);
conn = DriverManager.getConnection(url,user,pwd);
} catch (Exception e) {
throw new RuntimeException(e);
}
return conn;
}
}
代码实现了一个DB类,用于获取数据库连接。getC()方法返回了一个Connection对象,该对象使用了Java标准库中的JDBC接口来创建数据库连接。该方法首先加载MySQL的驱动程序,然后使用DriverManager类来获取数据库连接。在获取连接时,需要传入数据库的URL、用户名和密码等信息。如果获取连接失败,则会抛出一个RuntimeException异常。该方法的缺点是需要手动关闭Connection对象和Statement对象,否则容易造成资源泄漏和性能问题。如果需要多次使用数据库连接,则可以将该连接对象保存到一个变量中,以便后续使用。
方法二:使用MysqlDataSource类来创建数据库连接
public class MyDBUtils {
private static MysqlDataSource dataSource;
static {
dataSource = new MysqlDataSource();
dataSource.setUser("root");
dataSource.setPassword("12345a");
dataSource.setUrl("jdbc:mysql://localhost:3306/books?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8");
}
public static QueryRunner getQueryRunner(){
return new QueryRunner(dataSource);
}
}
代码实现了使用QueryRunner类来执行SQL语句,该类提供了一些便捷的方法来执行SQL语句,如查询、插入、更新、删除等。getQueryRunner()方法返回了一个QueryRunner对象,该对象使用了MySQL自带的数据源类MysqlDataSource来创建数据库连接,从而避免了直接创建Connection对象所带来的一些问题,如资源泄漏、线程安全等。
在实际开发中,建议使用方法二,或者其他开源的第三方库,如MyBatis、Spring JDBC等,来简化数据库操作。