下面我将详细讲解“新的Java访问MySQL数据库工具类的操作代码”的完整攻略。
简述
在Java程序中访问MySQL数据库通常需要使用JDBC驱动,JDBC驱动是一组API,用于与不同的关系型数据库进行通信。使用JDBC驱动连接MySQL数据库可以使用原生JDBC API,也可以使用更方便的第三方库,如JdbcTemplate和MyBatis等。
我们可以使用Java中的工具类来管理JDBC的初始化和连接操作,这样可以简化代码的编写,提高代码可读性和维护性。
步骤
-
导入MySQL JDBC驱动:在Java项目中,需要将MySQL JDBC驱动程序拷贝到项目的Classpath路径下,并且需要在代码中加载它。这可以使用
Class.forName()
方法实现。java
try {
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} -
建立数据库连接:Java通过
DriverManager.getConnection()
方法来建立与数据库的连接。java
Connection connection = null;
try {
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase?useSSL=false&serverTimezone=UTC", "root", "password");
} catch (SQLException e) {
e.printStackTrace();
} -
执行SQL语句:使用Java的
Statement
或PreparedStatement
对象来执行SQL语句。```java
Statement statement = null;
ResultSet resultSet = null;
try {
statement = connection.createStatement();
resultSet = statement.executeQuery("SELECT * FROM mytable");
while (resultSet.next()) {
System.out.println(resultSet.getString("column1"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (resultSet != null) {
try {
resultSet.close();
} catch (SQLException e) {} } if (statement != null) { try { statement.close(); } catch (SQLException e) { } }
}
``` -
关闭连接:一旦完成了与数据库的交互,需要关闭与数据库的连接,这样可以释放资源并且减少连接泄漏的可能性。
java
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
示例
示例1
下面是一个使用JdbcTemplate访问MySQL数据库的示例,该示例使用Spring Boot框架。
-
引入Spring Boot和JdbcTemplate依赖:
```xml
org.springframework.boot
spring-boot-starter-web
<!-- MySQL JDBC驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- Spring JDBC支持 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> </dependency>
``` -
新建工具类:
```java
import javax.sql.DataSource;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;@Component
public class JdbcUtil {private final JdbcTemplate jdbcTemplate; @Autowired public JdbcUtil(DataSource dataSource) { jdbcTemplate = new JdbcTemplate(dataSource); } public void executeSql(String sql) { jdbcTemplate.execute(sql); }
}
``` -
在项目中使用:
```java
@Controller
public class MyController {@Autowired private JdbcUtil jdbcUtil; @GetMapping("/database/init") public String init(DatabaseInitRequest request) { jdbcUtil.executeSql("INSERT INTO user(name, age) VALUES('" + request.getName() + "', " + request.getAge() + ")"); return "success"; }
}
```
示例2
下面是一个使用MyBatis访问MySQL数据库的示例。
-
引入MyBatis和MySQL JDBC驱动依赖:
```xml
org.mybatis.spring.boot
mybatis-spring-boot-starter
2.0.6
<!-- MySQL JDBC驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
``` -
配置MyBatis:
```yaml
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/mydatabase?useSSL=false&serverTimezone=UTC
username: root
password: passwordmybatis:
mapper-locations: classpath:/mapper/*.xml
``` -
新建Mapper接口:
```java
import java.util.List;import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;@Mapper
public interface UserMapper {@Select("SELECT * FROM user") List<User> findAll(); // 其他操作
}
``` -
使用Mapper:
```java
@RestController
@RequestMapping("/user")
public class UserController {@Autowired private UserMapper userMapper; @GetMapping("/list") public List<User> list() { return userMapper.findAll(); } // 其他操作
}
```
总结
以上就是Java访问MySQL数据库的工具类的操作:导入MySQL JDBC驱动、建立数据库连接、执行SQL语句、关闭连接。希望这份攻略能够对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:新的Java访问mysql数据库工具类的操作代码 - Python技术站