MySQL官网下载jdbc压缩包
解压安装包操作步骤
1. ecplise点击操作
2.进入工程文件夹,创建lib文件
3.将解压后的jdbc包放入该文件目录下
4.打开ecplise,右键点击该工程,刷新
5.工程目录下出现lib文件,继续点击右键选择Properties下的,Java Build Path
6.工程下出现 Referenced libraries文件
导包完成.
代码实现步骤
- 加载驱动
- 获取连接
- mysql执行前置,创建声明
- 执行sql
- 关闭sql,执行声明
- 关闭连接
1.加载驱动
点击添加捕获异常
2.获取连接
- url固定连接: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8 (test为数据库名,根据自己命名更改)
实例化Connection(接口)对象,子类connection (接口不能实例化对象,但是接口的子类可以,接口可以作为数据类型). DriverManager.getConnection(String url, String user, String password) 的返回值为Connection类型,赋值给connection,为下面执行sql用
3.创建声明
1 createStatement()返回值为Statement . (创建一个 Statement 对象来将 SQL 语句发送到数据库。不带参数的 SQL 语句通常使用 Statement 对象执行。如果多次执行相同的 SQL 语句,使用 PreparedStatement 对象可能更有效。)
实例化Statement对象
4.执行sql
INSERT , DELETE , UPDATE ,增删改使用,statement接口中的,executeUpdate(String sql)返回值 int.
执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。
Query查询 executeQuery(String sql)返回值为ResultSet
遍历结果集
5.关闭声明
//关闭声明
if (null != statement) {
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
6.关闭连接
if (null != connection) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
完整代码实现
查询
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class insert {
public static void main(String[] args) {
//1 加载驱动 ,Class 首字母要大写
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
//2 获取连接
Connection connection = null ;
try {
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/movies?useUnicode=true&characterEncoding=utf8",
"root", "root123");
} catch (SQLException e) {
e.printStackTrace();
}
//3 创建声明(为了执行sql必须先创建),statment 用于执行静态 SQL 语句并返回它所生成结果的对象
//createStatement,创建一个 Statement 对象来将 SQL 语句发送到数据库。不带参数的 SQL 语句通常使用 Statement 对象执行
Statement statement = null ;
try {
statement = connection.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
//4 执行sql int executeUpdate(String sql) ,返回值为int,表示影响的行数有多少
// 执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。
int count = 0 ;
try {
count = statement.executeUpdate("INSERT INTO t_employee(name, sex, age, dept_id) VALUES ('刘禅', 'M', 18, 1)");
} catch (SQLException e) {
e.printStackTrace();
}
System.out.println("影响记录行数"+count);
/* 查询select--------------------------------------------------------------------------
// 4 执行SQL Query查询
ResultSet rs = null;
try {
rs = statement.executeQuery("SELECT id, name, sex, age, dept_id FROM t_employee");
} catch (SQLException e) {
e.printStackTrace();
}
// 5 遍历结果集
try {
while(rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
System.out.printf("id = %d, name = %s\n", id, name);
}
} catch (SQLException e) {
e.printStackTrace();
}
// 6 关闭结果集
if (null != rs) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
*/-------------------------------------------------------
// 关闭申明
if(null != statement) {
try {
statement.close() ;
} catch (SQLException e) {
e.printStackTrace();
}
}
//关闭连接
if(null != connection) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}