关于Mysql数据库的JDBC操作实现
JAVA操作数据库的一般方式
1.加载驱动
加载驱动是为了使Java具有链接指定数据库的能力
Java加载驱动仅需一行代码
//1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
2.创建连接
创建内存跟数据库之间的连接
//所需导入的包
import java.sql.Connection;
//创建连接的代码
Connection connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/user?useSSL=true&characterEncoding=utf-8&user=root&password=261630");
//jdbc:mysql://127.0.0.1:3306/ 连接Mysql数据库软件 无需更改
//user? user是需要连接的数据库名,我所使用的数据库是user所以是"user?" 随你使用的数据库名更改
//如果使用的数据库名是dbem,那就是"dbem?"
//useSSL=true&characterEncoding=utf-8 连接模式及编码方式, 无需更改
//&user=root&password=261630 user即数据库连接所用的账号,一般默认“root”,password是连接所用密码,
//是在安装Mysql时设置的 随安装Mysql软件时的设置更改
3.写sql语句
String sql="select * from userInfo";
4.得到statement对象
statement对象可用于执行sql语句
PreparedStatement statement=connection.prepareStatement(sql);
5.执行sql得到结果集
6.处理结果集
7.关闭资源
//这是封装的关闭资源的方法,可以根据资源使用情况修改
public static void close(ResultSet rs, Statement statement, Connection connection){
try {
if(connection!=null){
connection.close();
}
if(statement!=null){
statement.close();
}
if(rs!=null){
rs.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
示例代码(显示表内所有数据)
所使用数据库名:user
数据库内只有一个表:userInfo
表内共有三个元素:ID,userName,userPassWord
ID int(10);
userName varchar(50);
userPassWord varchar(50);
import java.sql.*;
public class findAll {
public static void main(String[] args) {
ResultSet rs=null;
PreparedStatement statement=null;
Connection connection=null;
try {
//1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2.创建连接
connection = DriverManager.getConnection
("jdbc:mysql://127.0.0.1:3306/user?useSSL=true&characterEncoding=utf-8&user=root&password=261630");
System.out.println("创建连接成功");
//3.写sql
String sql="select * from userinfo";
//4.得到statement对象
statement = connection.prepareStatement(sql);
//5.执行sql得到结果集
rs = statement.executeQuery();
//6.处理结果集--输出展示
while (rs.next()){
System.out.println(rs.getInt(1));
System.out.println(rs.getString(2));
System.out.println(rs.getString(3));
}
} catch (Exception e) {
e.printStackTrace();
}finally {
//7.关闭资源
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();
}
}
}
}
}