一.添加、删除、修改
在MySQL数据库中创建如下的表:
create table student(
id char(36),
name varchar(12),
mobile char(11),
address varchar(150)
)
1.加载驱动程序类
在写代码之前先要在项目中导入MySQL的jar包,导入jar包的操作见博客: jar包的导入
在jar包中找到Driver类,并将其Qualified name拷贝过来,如第14行,对其进行Class.forname()操作,该类为驱动程序类。
2.建立连接
第15行,使用加载出来的驱动器,DriverManager对象调用getConnection方法连接数据库,第一个参数为目标数据库,第二个参数为名字,第三个参数为密码。
3.创建语句
第16行,使用连接数据库的变量connection调用createStatement方法创建一个Statement类对象,Statement类就是用来存储数据库操作语句的类
4.执行语句
第17行,用statement变量调用executeUpdate方法来操作MySQL数据库,传入的String类参数就是对数据库的操作语句,返回的是被操作的数据的行数,定义一个int类型result来存储。
5.处理结果
第18行,result中存储的是被操作的数据的行数,所以如果该变量值为0则说明操作失败了,所以对结果进行如下处理。
6.释放内存
第25行,用finally语句释放内存,这里要注意,释放的顺序必须是定义的顺序的逆序。
package sql;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class Test {
public static void main(String[] args) {
Statement statement=null;
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();
int result=statement.executeUpdate("insert into student(id,name,mobile,address) values ('f98ac9b6-6da7-47b4-ab65-9845d4da0114','Tom','12345678910','beijing')");
if(result>0) {
System.out.println("YES");
}else {
System.out.println("NO");
}
} catch (Exception e) {
e.printStackTrace();
}finally {
if (statement!=null) {
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (connection!=null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
二.查询
首先我们先在上面创建的表中存储一些简单的数据进去:
JDBC的查询操作使用的不是executeUpdate方法,是executeQuery方法,而且要在上面update操作的代码的基础上稍作修改。
以下是查看数据的操作:
前三个步骤都和修改操作一样,加载驱动类,建立连接,创建语句。
4.执行语句
第19行,Statement类用来存语句的变量statement调用的是executeQuery方法来执行查询操作的,而且还有一点不同的是,修改操作中在此处定义的是一个int类型变量用来存储返回的被操作的行数,而这里定义的是一个ResultSet类型变量rs,这个rs其实就是可以看成是存放从数据库中读出的数据的数组。
5.处理结果
接下来要从上一步中的rs“数组”中处理结果,将要查询的数据打印出来,所以对该数组进行遍历,并且调用该对象的getString方法,传入要读取的数据的字段,然后再将其打印。
6.释放内存
package sql;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Test2 {
public static void main(String[] args) {
Statement statement=null;
Connection connection=null;
ResultSet rs=null;
try {
Class.forName("com.mysql.jdbc.Driver");//1、加载驱动程序类
connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test","root","root");//2、建立连接
statement = connection.createStatement();//3、创建语句
rs=statement.executeQuery("select * from student")//4、执行语句
while(rs.next()) {//5、处理数据
String id=rs.getString("id");
String address=rs.getString("address");
System.out.println("id:"+id+",address:"+address);
}
} catch (Exception e) {
e.printStackTrace();
}finally {//6、释放资源
if (rs!=null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (statement!=null) {
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (connection!=null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}