web和mysql连接并增删改查_Java Web 使用IDEA对mysql数据库进行简单增删改查操作(附源码下载)...
时间: 2024-01-14 09:04:45 浏览: 115
Servlet+MySql+Web(HTML+CSS+JSP技术+EL表达式)通过IDEA来实现数据库的增删改查(crud)
5星 · 资源好评率100%
好的,我可以为您解答这个问题。
首先,您需要在Java Web项目中引入MySQL的驱动包。可以在pom.xml文件中添加以下依赖:
```xml
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
```
接下来,您需要在项目的src目录下创建一个名为"db.properties"的配置文件,用于存储数据库连接信息,例如:
```
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
jdbc.username=root
jdbc.password=123456
```
在配置文件中,您需要修改jdbc.url、jdbc.username和jdbc.password为您自己的数据库连接信息。
然后,您可以在Java Web项目中编写代码进行数据库操作,以下是一个简单的示例:
```java
import java.sql.*;
public class UserDao {
private String driver;
private String url;
private String username;
private String password;
private Connection conn;
public UserDao() {
driver = getConfig("jdbc.driver");
url = getConfig("jdbc.url");
username = getConfig("jdbc.username");
password = getConfig("jdbc.password");
}
// 获取配置文件中的值
private String getConfig(String key) {
Properties props = new Properties();
try {
props.load(this.getClass().getResourceAsStream("/db.properties"));
return props.getProperty(key);
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
// 连接数据库
public boolean connect() {
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, username, password);
return true;
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
return false;
}
// 关闭连接
public void close() {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
// 查询操作
public void select() {
if (connect()) {
try {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM user");
while (rs.next()) {
System.out.println(rs.getInt("id") + "\t" + rs.getString("name") + "\t" + rs.getInt("age"));
}
rs.close();
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
close();
}
}
}
// 插入操作
public void insert(String name, int age) {
if (connect()) {
try {
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO user (name, age) VALUES (?, ?)");
pstmt.setString(1, name);
pstmt.setInt(2, age);
pstmt.executeUpdate();
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
close();
}
}
}
// 更新操作
public void update(int id, String name, int age) {
if (connect()) {
try {
PreparedStatement pstmt = conn.prepareStatement("UPDATE user SET name = ?, age = ? WHERE id = ?");
pstmt.setString(1, name);
pstmt.setInt(2, age);
pstmt.setInt(3, id);
pstmt.executeUpdate();
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
close();
}
}
}
// 删除操作
public void delete(int id) {
if (connect()) {
try {
PreparedStatement pstmt = conn.prepareStatement("DELETE FROM user WHERE id = ?");
pstmt.setInt(1, id);
pstmt.executeUpdate();
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
close();
}
}
}
public static void main(String[] args) {
UserDao dao = new UserDao();
dao.select(); // 查询
dao.insert("张三", 20); // 插入
dao.update(1, "李四", 30); // 更新
dao.delete(2); // 删除
}
}
```
以上代码中,UserDao类中的select()、insert()、update()、delete()方法分别对应查询、插入、更新、删除操作。在main()方法中,我们可以调用这些方法进行数据库操作。
希望这个回答能够帮助到您。
阅读全文