Java 操作数据库的流程
2.1 编写代码的步骤
- 创建工程, 导入驱动
jar
包
添加库
- 创建数据源(
DataSource
)
// 1. 创建数据源(DataSource)
DataSource dataSource = new MysqlDataSource();
((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/你的数据名?characterEncoding=utf8&useSSL=false");
((MysqlDataSource) dataSource).setUser("你的用户名");
((MysqlDataSource) dataSource).setPassword("你的密码");
- 连接数据库服务器
// 2. 连接数据库服务器
Connection connection = dataSource.getConnection();
- 构造操作数据库的 SQL 语句
System.out.println("请输入id");
int id = input.nextInt();
System.out.println("请输入姓名");
String name = input.next();;
String sql = "insert into 你的表名 values (?,?)"; // sql语句
PreparedStatement preparedStatement = connection.prepareStatement(sql); // 构造 "语句对象"
preparedStatement.setInt(1, id);
preparedStatement.setString(2, name);
- 执行 SQL 语句
int n = preparedStatement.executeUpdate();
System.out.println("n = " + n);
- 释放资源
preparedStatement.close();
connection.close();
案例
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;
public class JDBCDemo {
public static void main(String[] args) throws SQLException {
Scanner input = new Scanner(System.in);
// 1. 创建数据源(DataSource)
DataSource dataSource = new MysqlDataSource();
((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java111?characterEncoding=utf8&useSSL=false");
((MysqlDataSource) dataSource).setUser("root");
((MysqlDataSource) dataSource).setPassword("1234");
// 2. 连接数据库服务器
Connection connection = dataSource.getConnection();
// 3. 构造操作数据库的 SQL 语句
System.out.println("请输入id");
int id = input.nextInt();
System.out.println("请输入姓名");
String name = input.next();;
String sql = "insert into test values (?,?)";
PreparedStatement preparedStatement = connection.prepareStatement(sql); // 构造 "语句对象"
preparedStatement.setInt(1, id);
preparedStatement.setString(2, name);
// 4. 执行 SQL语句
int n = preparedStatement.executeUpdate();
System.out.println("n = " + n);
// 5. 释放资源
preparedStatement.close();
connection.close();
}
}
运行结果: