Jar包支持
- java.sql
- javax.sql
- mysql-connector-java
编写sql
CREATE TABLE `users`(
`id` INT(2) PRIMARY KEY AUTO_INCREMENT,
`name` VARCHAR(5),
`password` VARCHAR(10),
`email` VARCHAR(20),
`birthday` DATE
)ENGINE=INNODB DEFAULT CHARSET=utf8;
INSERT INTO `users`(id,`name`,`password`,`email`,`birthday`)
VALUES(1,"杨树","123456","1111@qq.com","1989-12-21");
INSERT INTO `users`(id,`name`,`password`,`email`,`birthday`)
VALUES(3,"杨非","121456","1112221@qq.com","1999-12-21");
导入数据库依赖
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.27</version>
</dependency>
</dependencies>
连接步骤
- 加载驱动
- 连接数据库
- 向数据库发送SQL对象Statement / PreparedStatement
- 编写SQL
- 执行SQL
- 关闭连接
不安全连接
package com.yl.TestJdbc;
import java.sql.*;
public class TestJdbc {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//配置信息
String url = "jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8&useSSL=true";
String username = "root";
String password = "yL@98";
//1.加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//2.连接数据库
Connection connection = DriverManager.getConnection(url, username, password);
//3.向数据库发送对应statement
Statement statement = connection.createStatement();
//4.编写SQL
String sql = "select * from users";
//5.执行SQL 返回结果集 ResultSet
ResultSet rs = statement.executeQuery(sql);
while(rs.next()){
System.out.println("id:" + rs.getInt("id"));
System.out.println("name:" + rs.getString("name"));
System.out.println("password:" + rs.getString("password"));
System.out.println("email:" + rs.getString("email"));
System.out.println("birthday:" + rs.getDate("birthday"));
}
//6.释放资源 先开后关
rs.close();
statement.close();
connection.close();
}
}
安全连接
package com.yl.TestJdbc;
import java.sql.*;
public class TestJdbc2 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//配置信息
String url = "jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8&useSSL=true";
String username = "root";
String password = "yL@98";
//1.加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//2.连接数据库
Connection connection = DriverManager.getConnection(url, username, password);
//3.编写SQL
String sql = "insert into users(id,name,password,email,birthday) values (?,?,?,?,?)";
//4.预编译
PreparedStatement preparedStatement = connection.prepareStatement(sql);
preparedStatement.setInt(1, 2);
preparedStatement.setString(2, "杨洋");
preparedStatement.setString(3, "12221");
preparedStatement.setString(4, "41414141@qq.com");
preparedStatement.setDate(5, new Date(System.currentTimeMillis()));
//5.执行SQL
int i = preparedStatement.executeUpdate();
if(i>0){
System.out.println("插入成功");
}
//6.释放资源
preparedStatement.close();
connection.close();
}
}