MySQL 8.0.19详细安装教程以及简单数据库链接demo
- MySQL8.0.19安装教程:
-https://blog.csdn.net/qq_37350706/article/details/81707862 - MySQL驱动jar包下载路径:
https://dev.mysql.com/downloads/connector/j/
- A:DML(增删改)语句的简单Demo
Statement statement = null;
Connection conn = null;
try {
//1 导入驱动jar包
//2 注册驱动
Class.forName("com.mysql.jdbc.Driver");
//3 获取数据库连接对象
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bocai", "root","root");
//4 定义sql语句
String sql = "update user set username = '菠菜饭团' where id = 3";
//获取执行sql的对象
statement = conn.createStatement();
int i = statement.executeUpdate(sql);
} catch (Exception e) {
e.printStackTrace();
}finally {
//释放资源
if(statement!=null){
try {
statement.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
- 数据库对象
- 1.DriverManager:管理 JDBC 驱动程序的服务对象。
- 2.Connection :数据库连接对象
- 3.Statement: 执行
静态
SQL 语句对象,会导致SQL注入
。-
int executeUpdate(String sql): 执行DML语句(增删改),DDL语句(与数据库和表相关,不常用),返回值为该条sql语句执行后影响的行数
-
ResultSet executeQuery(String sql) : 执行DQL语句(查询语句),返回值为一个结果集对象
-
- 4.ResultSet:数据库结果集对象(数据表),具有一个当前数据行的光标,可
- 5.PreparedStatement:预编译的 SQL 语句对象(
动态
)
Class.forName("com.mysql.jdbc.Driver")
中是通过静态代码块注册驱动的,源代码如下:
public class Driver extends NonRegisteringDriver implements java.sql.Driver {
public Driver() throws SQLException {
}
//静态代码块在类加载时调用,并且只调用一次。
static {
try {
DriverManager.registerDriver(new Driver());
} catch (SQLException var1) {
throw new RuntimeException("Can't register driver!");
}
}
}
- B:DQL(查询)语句的简单Demo
{
Statement statement = null;
Connection conn = null;
ResultSet rs = null;
try {
//1 导入驱动jar包
//2 注册驱动
Class.forName("com.mysql.jdbc.Driver");
//3 获取数据库连接对象
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bocai", "root","root");
//4 定义sql语句
String sql = "select * from user";
//获取执行sql的对象
statement = conn.createStatement();
rs = statement.executeQuery(sql);
//判断结果集是否有数据
while(rs.next()){
int id = rs.getInt("id");
String username = rs.getString("username");
String password = rs.getString("password");
System.out.println(id+"---"+username+"---"+password);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
//释放资源
if(rs!=null){
try {
rs.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if(statement!=null){
try {
statement.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
}
查询结果如下