Java操作MySQL实现增删改查的方法完整攻略
1. 环境准备
在Java项目中,我们需要使用JDBC来操作MySQL数据库,因此需要引入MySQL的JDBC驱动包。以Maven项目为例,我们可以在pom.xml
文件中加入以下依赖:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.25</version>
</dependency>
其中,groupId
和artifactId
分别指定了所需依赖的包名和包编号,version
是MySQL JDBC驱动包的版本。
2. 连接数据库
在Java中连接MySQL数据库的方法,可以通过以下代码实现:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class JdbcUtils {
private static final String DRIVER_CLASS_NAME = "com.mysql.cj.jdbc.Driver";
private static final String URL = "jdbc:mysql://localhost:3306/test";
private static final String USERNAME = "root";
private static final String PASSWORD = "123456";
static {
try {
Class.forName(DRIVER_CLASS_NAME);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConnection() {
Connection connection = null;
try {
connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (SQLException e) {
e.printStackTrace();
}
return connection;
}
}
在上面的代码中,DRIVER_CLASS_NAME
、URL
、USERNAME
和PASSWORD
分别表示MySQL驱动类名、数据库URL、用户名和密码。我们通过Class.forName
方法加载驱动程序,然后通过DriverManager.getConnection
方法获取数据库连接。
3. 实现增删改查
3.1. 实现插入数据
以下是使用Java代码向MySQL数据库中插入一条数据的示例:
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class UserDaoImpl implements UserDao {
private Connection connection;
public UserDaoImpl() {
connection = JdbcUtils.getConnection();
}
@Override
public boolean addUser(User user) {
String sql = "INSERT INTO user(name, age, gender) VALUES(?, ?, ?)";
boolean result = false;
PreparedStatement statement = null;
try {
statement = connection.prepareStatement(sql);
statement.setString(1, user.getName());
statement.setInt(2, user.getAge());
statement.setString(3, user.getGender());
result = statement.executeUpdate() > 0;
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (statement != null) {
statement.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
return result;
}
}
在上面的代码中,我们首先定义了一个SQL语句,并通过PreparedStatement
的setXXX
方法为占位符?
填充实际数据,最后通过executeUpdate
方法执行SQL语句,如果插入成功,则返回true
;否则返回false
。
3.2. 实现更新数据
以下是使用Java代码更新MySQL数据库中的一条数据的示例:
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class UserDaoImpl implements UserDao {
private Connection connection;
public UserDaoImpl() {
connection = JdbcUtils.getConnection();
}
@Override
public boolean updateUser(User user) {
String sql = "UPDATE user SET name = ?, age = ?, gender = ? WHERE id = ?";
boolean result = false;
PreparedStatement statement = null;
try {
statement = connection.prepareStatement(sql);
statement.setString(1, user.getName());
statement.setInt(2, user.getAge());
statement.setString(3, user.getGender());
statement.setInt(4, user.getId());
result = statement.executeUpdate() > 0;
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (statement != null) {
statement.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
return result;
}
}
在这段代码中,我们也是通过定义一个SQL语句,在PreparedStatement
中为占位符填充数据,最后调用executeUpdate
方法执行SQL语句,实现了对一条数据进行更新。
3.3. 实现删除数据
以下是使用Java代码从MySQL数据库删除一条数据的示例:
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class UserDaoImpl implements UserDao {
private Connection connection;
public UserDaoImpl() {
connection = JdbcUtils.getConnection();
}
@Override
public boolean deleteUser(int id) {
String sql = "DELETE FROM user WHERE id = ?";
boolean result = false;
PreparedStatement statement = null;
try {
statement = connection.prepareStatement(sql);
statement.setInt(1, id);
result = statement.executeUpdate() > 0;
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (statement != null) {
statement.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
return result;
}
}
如上所示,我们在SQL语句中使用了DELETE
语句,并在PreparedStatement
中为其中的占位符?
填充了实际的数据,最后调用了executeUpdate
方法实现数据的删除。
3.4. 查询数据
以下是使用Java代码从MySQL数据库中查询数据的示例:
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class UserDaoImpl implements UserDao {
private Connection connection;
public UserDaoImpl() {
connection = JdbcUtils.getConnection();
}
@Override
public List<User> queryUsers() {
String sql = "SELECT * FROM user";
List<User> userList = new ArrayList<>();
PreparedStatement statement = null;
ResultSet resultSet = null;
try {
statement = connection.prepareStatement(sql);
resultSet = statement.executeQuery();
while (resultSet.next()) {
User user = new User();
user.setId(resultSet.getInt("id"));
user.setName(resultSet.getString("name"));
user.setAge(resultSet.getInt("age"));
user.setGender(resultSet.getString("gender"));
userList.add(user);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (statement != null) {
statement.close();
}
if (resultSet != null) {
resultSet.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
return userList;
}
}
在上面的代码中,我们定义SQL语句并通过executeQuery
方法执行查询,得到一个ResultSet
对象。接下来通过遍历结果集获取数据,最后将得到的数据添加到一个List
中,返回这个List
。
4. 总结
上面的Java操作MySQL实现增删改查的方法完整攻略,通过简单的代码示例详细讲解了如何使用Java对MySQL进行数据库操作。在实际开发中,我们可以根据需要来编写对应的Java代码,来完成具体的数据库操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java操作mysql实现增删改查的方法 - Python技术站