java对数据库的增删改查
时间: 2023-10-02 07:11:21 浏览: 54
Java对数据库的增删改查操作使用JDBC(Java Database Connectivity)API实现。JDBC是Java语言中用来规范客户端程序如何访问数据库的应用程序接口,提供了一组类和接口,用于执行SQL语句并与数据库进行交互。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [JDBC Java对数据库增删改查(完整案例)](https://blog.csdn.net/m0_67979925/article/details/128213899)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
相关问题
Java对数据库增删改查
在 Java 中进行数据库的增删改查操作可以通过 JDBC(Java Database Connectivity)来实现。以下是一个简单的示例代码:
首先,确保您已经安装了适当的数据库驱动程序,并在项目中引入相关的库。
连接数据库:
```java
import java.sql.*;
public class DatabaseConnector {
private static final String DB_URL = "jdbc:mysql://localhost:3306/mydatabase";
private static final String USER = "username";
private static final String PASS = "password";
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(DB_URL, USER, PASS);
}
}
```
插入数据:
```java
import java.sql.*;
public class InsertData {
public static void main(String[] args) {
try (Connection conn = DatabaseConnector.getConnection();
Statement stmt = conn.createStatement()) {
String sql = "INSERT INTO students (name, age) VALUES ('John', 25)";
stmt.executeUpdate(sql);
System.out.println("Data inserted successfully.");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
查询数据:
```java
import java.sql.*;
public class RetrieveData {
public static void main(String[] args) {
try (Connection conn = DatabaseConnector.getConnection();
Statement stmt = conn.createStatement()) {
String sql = "SELECT * FROM students";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
String name = rs.getString("name");
int age = rs.getInt("age");
System.out.println("Name: " + name + ", Age: " + age);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
更新数据:
```java
import java.sql.*;
public class UpdateData {
public static void main(String[] args) {
try (Connection conn = DatabaseConnector.getConnection();
Statement stmt = conn.createStatement()) {
String sql = "UPDATE students SET age = 30 WHERE name = 'John'";
int rowsAffected = stmt.executeUpdate(sql);
System.out.println("Rows affected: " + rowsAffected);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
删除数据:
```java
import java.sql.*;
pu
java连接数据库增删改查
Java连接数据库的增删改查可以通过使用JdbcTemplate来实现。首先,你需要配置数据源,确保能够连接到数据库。在配置文件中设置数据库的驱动类、URL、用户名和密码。
接下来,你需要创建数据库和表。可以通过运行SQL语句来创建数据库和表,例如创建一个名为testdb的数据库并在其中创建一个名为user的表。
然后,你可以在数据访问层(DAO)进行增删改查的操作。可以先创建一个接口,定义对数据库的基本增删改查操作,然后创建一个实现类,使用JdbcTemplate来实现这些操作。
如下是一个简单的示例:
```java
// 配置数据源
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/testdb?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.username=root
spring.datasource.password=123456
// 创建数据库和表
DROP DATABASE IF EXISTS `testdb`;
create database testdb;
Use testdb;
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`user_id` int NOT NULL AUTO_INCREMENT COMMENT '用户 ID',
`user_name` varchar(255) DEFAULT NULL COMMENT '用户名',
`status` varchar(255) DEFAULT NULL COMMENT '用户状态',
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
// 数据访问层DAO
// 接口CRUD
public interface UserDao {
User getById(int id);
List<User> getAll();
void insert(User user);
void update(User user);
void delete(int id);
}
// DAO层实现类--JdbcTemplate
@Repository
public class UserDaoImpl implements UserDao {
@Autowired
private JdbcTemplate jdbcTemplate;
@Override
public User getById(int id) {
String sql = "SELECT * FROM user WHERE user_id = ?";
return jdbcTemplate.queryForObject(sql, new Object[]{id}, new BeanPropertyRowMapper<>(User.class));
}
@Override
public List<User> getAll() {
String sql = "SELECT * FROM user"; return jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(User.class));
}
@Override
public void insert(User user) {
String sql = "INSERT INTO user (user_name, status) VALUES (?, ?)";
jdbcTemplate.update(sql, user.getUserName(), user.getStatus());
}
@Override
public void update(User user) {
String sql = "UPDATE user SET user_name = ?, status = ? WHERE user_id = ?";
jdbcTemplate.update(sql, user.getUserName(), user.getStatus(), user.getUserId());
}
@Override
public void delete(int id) {
String sql = "DELETE FROM user WHERE user_id = ?";
jdbcTemplate.update(sql, id);
}
}
```