使用JDBC连接数据库:
首先下载好JDBC连接的包:
链接:https://pan.baidu.com/s/1OmjCCbrTy6giJNjGJuMxEQ
提取码:5qhp
--来自百度网盘超级会员V3的分享
然后首先注册驱动:(注意mysql8.0版本以上加cj)
Class.forName("com.mysql.cj.jdbc.Driver");
获取数据库连接:
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/study", "root", "root");
3.定义 sql 语句
String sql1 = .............
4.获取执行 sql 的对象
Statement stmt = conn.createStatement();
执行 sql 语句:
int count1 = stmt.executeUpdate(sql1);
int count2 = stmt.executeUpdate(sql2);
释放资源:
stmt.close();
conn.close();
全部代码:
package 任务十六__JDBC;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
/**
* @author ${范涛之}
* @Description
* @create 2021-12-05 9:12
*/
public class Test {
public static void main(String[] args) throws Exception {
/**
* 1:注册驱动
*/
Class.forName("com.mysql.cj.jdbc.Driver");
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbctest","root","root");
String sql1= "CREATE TABLE employers_table(\n" +
"id INTEGER(8) NOT NULL AUTO_INCREMENT,\n" +
"department_id INTEGER(8) NOT NULL,\n" +
"emp_name CHAR(16) NOT NULL,\n" +
"gender CHAR(8),\n" +
"age INTEGER(8),\n" +
"join_date CHAR(32),\n" +
"PRIMARY KEY(id)\n" +
");";
String sql2 = "CREATE TABLE departments_table(\n" +
"department_id\tINTEGER(4) NOT NULL AUTO_INCREMENT,\n" +
"department_name\tCHAR(16) NOT NULL,\n" +
"PRIMARY KEY(department_id)\n" +
");";
Statement statement = connection.createStatement();
statement.executeUpdate(sql1);
statement.executeUpdate(sql2);
statement.close();
connection.close();
}
}
运行结果:
:
插入十万条数据:
package 任务十六__JDBC;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.Statement;
/**
* @author ${范涛之}
* @Description
* @create 2021-12-05 15:53
*/
public class Test3 {
public static void main(String[] args) throws Exception {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/csdn", "root", "root");
String sql1 = "INSERT INTO employee (dpmid,empname,age)\n" +
"VALUES\n" +
"(1,SUBSTRING(MD5(RAND()),1,20),FLOOR(RAND()*80));";
Statement statement = connection.createStatement();
int num = statement.executeUpdate(sql1);
long startTime = System.currentTimeMillis();
for (int i = 1; i < 10000; i++) {
String sql = "INSERT INTO employee (dpmid,empname,age)\n" +
"VALUES\n" +
"(0,SUBSTRING(MD5(RAND()),1,20),FLOOR(RAND()*80));";
num += statement.executeUpdate(sql);
}
long endTime = System.currentTimeMillis();
System.out.println("一共添加了"+num+"条数据");
System.out.println("耗时:"+(endTime-startTime));
statement.close();
connection.close();
}
}
结果:
批处理:
package 任务十六__JDBC;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
/**
* @author ${范涛之}
* @Description
* @create 2021-12-05 16:07
*/
public class Test4 {
public static void main(String[] args) throws Exception {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/csdn", "root", "root");
Statement statement = connection.createStatement();
long startTime = System.currentTimeMillis();
for (int i = 1; i < 10000; i++) {
String sql = "INSERT INTO employee (dpmid,empname,age)\n" +
"VALUES\n" +
"(0,SUBSTRING(MD5(RAND()),1,20),FLOOR(RAND()*80));";
statement.addBatch(sql);
statement.executeBatch();
}
long endTime = System.currentTimeMillis();
System.out.println("耗时:" + (endTime - startTime));
statement.close();
connection.close();
}
}