为什么是0基础呢?因为我就是0基础干完了,多亏了一个大佬的帮助,完成了最终的目的。
下面,我把代码直接贴出来,对一些细节做一个讲解:
1、 单纯输出数据库现有的数据
代码
package com.sql;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* JDBC连接数据库的步骤:
* @author MTing
* 步骤:
* 1.注册驱动
* 2.获取连接
* 3.获取传输器
* 4.通过传输器发送SQL到服务器质性并且返回执行结果
* 5.数据处理
* 6.释放资源
*/
public class connectionBasic {
public static void main(String[] args) throws Exception {
Connection conn = null;
//导入MySQL驱动
//1.注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//2.获取连接
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/account",
"root",
"lyy02230223"
);
System.out.println("数据库连接成功!");
//3.获取传输器
Statement st = conn.createStatement();
//4.通过传输器发送SQL到服务器执行并且返回执行结果
String sql = "select * from account";
ResultSet rs = st.executeQuery(sql);
//5.数据处理
while( rs.next() ) {
String id = rs.getString("id");
String startplace = rs.getString("startplace");
String endplace = rs.getString("endplace");
String name = rs.getString("name");
String data = rs.getString("data");
String flight = rs.getString("flight");
System.out.println("身份证号:"+id + "\t姓名:" + name + "\t航班号:" + flight + "\t出行日期:" +
data + "\t从" + startplace + "到" + endplace);
}
//6.释放资源
// rs.close();
// st.close();
// conn.close();
if( rs != null ) {
try {
rs.close();
} catch (Exception e) {
e.printStackTrace();
}finally {
rs = null;
}
}
if( st != null ) {
try {
st.close();
} catch (Exception e) {
e.printStackTrace();
}finally {
st = null;
}
}
if( conn != null ) {
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}finally {
conn = null;
}
}
}
}
解释:
2、对数据库的数据进行增加
代码
package com.sql;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class connectorAdd {
public static void main(String[] args) {
try {
// 加载数据库驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 声明数据库view的URL
String url = "jdbc:mysql://localhost:3306/account?"
+ "user=root&password=root&useUnicode=true&characterEncoding=UTF8";
// 数据库用户名
String user = "root";
// 数据库密码
String password = "lyy02230223";
// 建立数据库连接,获得连接对象conn
Connection conn = DriverManager.getConnection(url, user, password);
String sql = "insert into account (startplace,endplace,name,id,data,flight) values(?,?,?,?,?,?)"; // 生成一条sql语句
// 创建一个Statment对象
PreparedStatement ps = conn.prepareStatement(sql);
// 为sql语句中第一个问号赋值
ps.setString(1, "武汉");
// 为sql语句中第二个问号赋值
ps.setString(2, "上海");
// 为sql语句中第三个问号赋值
ps.setString(3, "李妍妍妍");
// 为sql语句中第四个问号赋值
ps.setString(4, "421202200302230090");
ps.setString(5, "2021/12/12");
ps.setString(6, "HB2029");
// 执行sql语句
ps.executeUpdate();
// 关闭数据库连接对象
conn.close();
System.out.println("jjk插入完毕!!!");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
解释:
3、对数据库的数据进行删除
代码
package com.sql;
import java.sql.*;
public class ConnectorDelect {
public static void main(String[] args) {
try {
Class.forName("com.mysql.cj.jdbc.Driver");//加载数据库驱动
System.out.println("加载数据库驱动成功");
String url="jdbc:mysql://localhost:3306/account";//声明自己的数据库test的url
String user="root";//声明自己的数据库账号
String password="lyy02230223";//声明自己的数据库密码
//建立数据库连接,获得连接对象conn
Connection conn=DriverManager.getConnection(url,user,password);
System.out.println("连接数据库成功");
String sql="delete from account where id=421202200302230090";//生成一条sql语句
Statement stmt=conn.createStatement();//创建Statement对象
stmt.executeUpdate(sql);//执行sql语句
System.out.println("数据库删除成功");
conn.close();
System.out.println("数据库关闭成功");//关闭数据库的连接
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
解释:
反正我觉得,这个代码要是看懂了,其实也不算难,就是单纯得0基础很痛苦啊,很痛苦啊!!!!!希望各位避雷吧,看这个代码就会贼好理解,都是我各大网址搜出来然后总结的,绝对没问题!!