JDBC(Java DataBase Connectivity)的基本操作------添加和删除
在使用JDBC之前要导入相应数据库驱动程序的jar包
大致步骤:
1.加载驱动,找到mysql-connector-java-5.1.9.jar包中的Driver类
2.建立连接, 使用DriverManager的getConnection方法
3.创建SQL语句对象 使用Connection的createStatement方法
4.书写SQL语句,需要保证SQL语句的正确性,如果有SQL语句语法错误则会报SQL语法错误异常
5.执行SQL语句,插入,删除,修改,使用Statement的executeUpdate(sql)方法即可,该方法会返回当前操作对数据库影响的行数
6.释放资源,需要调用Connection的close()方法,和Statement的close()方法关闭的顺序需要遵守后开先关的原则(否则有可能出现异常)类似于栈的思想(先进后出)
添加用户信息
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.UUID;
public class Insert {
public static void main(String[] args) {
Statement statement = null; // try语句和finally语句属于不同的代码块,需提高声明权限。
Connection connection = null;
try {
Class.forName("com.mysql.jdbc.Driver"); // 加载驱动。
connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "root");// 建立连接
statement = connection.createStatement(); // 创建SQL语句对象
for (int i = 0; i < 5; i++) {
String id = UUID.randomUUID().toString();// 向数据库添加数据,id为UUID
String sql = "insert into user_info (id,user_name,password) values ('" + id + "','" + i + "','" + i
+ "')";
int affect = statement.executeUpdate(sql);
System.out.println(affect);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (statement != null) {
statement.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
显示结果:执行SQL语句,这里使用executeUpdate()方法返回影响的行数
删除用户信息
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class Delete {
public static void main(String[] args) {
Statement statement = null; // try语句和finally语句属于不同的代码块,需提高声明权限。
Connection connection = null;
try {
Class.forName("com.mysql.jdbc.Driver"); // 加载驱动。
connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "root");// 建立连接
statement = connection.createStatement(); // 创建SQL语句对象
String sql = "delete from user_info where user_name=0";
if (statement.executeUpdate(sql) > 0) {
System.out.println("信息删除成功!");
} else {
System.out.println("系统中没有这个用户,删除失败。");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (statement != null) {
statement.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
删除了用户名为0的用户信息,运行结果 :
总结:
1.id字段每个值为UUID,用char定义数据类型,固定每个id的长度36位。
2.把释放资源的代码放到finally里,不管之前执行的代码书否出错,都要释放资源。不能把所有的close放在一起
3. 添加信息和删除信息的基本步骤一致,只是SQL语句不一样