一、连接MySQL数据库
连接MySQL数据库的方式有多种,其中使用JDBC连接是一种常用的方式。在JDBC连接中,我们需要使用mysql-connector-java包,并调用相关的类和方法实现连接操作。
Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/数据库名", "用户名", "密码");
上述代码中,首先使用Class.forName()方法加载MySQL的JDBC驱动程序,然后通过DriverManager.getConnection()方法连接数据库。其中,需要传入一个包含用户名和密码的Properties对象,以及连接的URL(jdbc:mysql://localhost:3306/数据库名)。
二、执行SQL语句
在连接MySQL数据库之后,我们可以通过Statement或PreparedStatement对象执行SQL语句。其中,Statement对象用于执行静态SQL语句,而PreparedStatement对象用于执行动态SQL语句。
执行静态SQL语句的代码如下:
Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("select * from 表名"); while (rs.next()) { // 处理查询结果 } stmt.close();
执行动态SQL语句的代码如下:
String sql = "insert into 表名(列1, 列2) values(?, ?)"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, "值1"); pstmt.setString(2, "值2"); pstmt.executeUpdate(); pstmt.close();
上述代码中,使用?占位符代替具体的变量值,然后通过setXXX()方法设置具体的值,最后调用executeUpdate()方法执行更新操作。
三、事务管理
在数据库操作中,事务管理是非常重要的一部分。通过事务管理,我们可以保证一组相关的SQL语句能够作为一个整体进行管理。在JDBC中,我们可以通过Connection对象的setAutoCommit()方法和commit()方法、rollback()方法实现事务管理。
开启事务的代码如下:
conn.setAutoCommit(false);
执行一组SQL语句,并提交事务的代码如下:
Statement stmt = conn.createStatement(); stmt.executeUpdate("update 表1 set 列1 = 值1"); stmt.executeUpdate("update 表2 set 列2 = 值2"); conn.commit(); stmt.close();
执行一组SQL语句,并回滚事务的代码如下:
Statement stmt = conn.createStatement(); stmt.executeUpdate("update 表1 set 列1 = 值1"); stmt.executeUpdate("update 表2 set 列2 = 值2"); conn.rollback(); stmt.close();
四、连接池
在高并发的情况下,频繁创建和关闭数据库连接会严重影响系统性能。因此,使用连接池可以有效地避免这一问题。在JDBC中,我们可以使用c3p0连接池。
使用c3p0连接池的代码如下:
ComboPooledDataSource cpds = new ComboPooledDataSource(); cpds.setDriverClass("com.mysql.jdbc.Driver"); cpds.setJdbcUrl("jdbc:mysql://localhost:3306/数据库名"); cpds.setUser("用户名"); cpds.setPassword("密码");
在使用连接时,我们可以通过下面的代码从连接池中获取连接:
Connection conn = cpds.getConnection();
五、总结
jdbc:mysql://localhost:3306是连接MySQL数据库的重要方式之一,在JDBC中,我们可以通过使用mysql-connector-java包和相关类和方法实现连接、执行SQL语句、事务管理和连接池等功能。
原创文章,作者:KLFZU,如若转载,请注明出处:https://www.506064.com/n/371573.html