常规代码
package com.tyut.demo_jdbc;
import java.sql.*;
public class JDBCDemo {
private static ResultSet rs=null; //结果集对象
private static Statement stSql =null; //statement对象
private static Connection conn=null; //connection对象
public static void main(String[] args) throws SQLException, ClassNotFoundException {
try{
//1.加载驱动程序
Class.forName("com.mysql.cj.jdbc.Driver");
//2.创建连接
String url="jdbc:mysql://localhost:3306/test01?userSSL=false&serverTimezone=UTC";//userssl安全证书 false表示不需要提供 serverTimezone时区 test01是自己的数据库名称
String username="root";
String userpwd="123456";//自己的数据库密码
conn= DriverManager.getConnection(url,username,userpwd);//连接上并登陆成功
conn.setAutoCommit(false);//true每执行一个命令都会立即自动提交 false则需要手动提交
//3.创建statement 驱动创建连接对象 连接对象创建语句
stSql= conn.createStatement();
//4.String语句
String sqlString="select * from user where username='张三'and password='111'";
//5.执行语句 statement执行语句 2种
//(1)
rs=stSql.executeQuery(sqlString); //executeQuery 只能查 executeUpdate() 增删改 execute() 增删改查
//(2) excute的结果为假 代表执行成功 如果是增删改 false代表成功 如果是查询 true代表成功
// boolean result=stSql.execute(sqlString); //返回成功还是失败
//5.手动提交事务
conn.commit();
//(1)
if(rs.next()){ //查完了执行
System.out.println("成功");
System.out.println("用户名:"+rs.getString("username"));
System.out.println("密码:"+rs.getString("password"));
}else{
System.out.println("失败");
}
//(2)
// if(result){ //查完了执行
// System.out.println("成功");
//
// }else{
// System.out.println("失败");
// }
// System.out.println("成功");
}catch(ClassNotFoundException e){
e.printStackTrace();
}catch(SQLException e){
e.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}finally{
//6.关闭连接
if(rs!=null)
//rs=null;
rs.close();
stSql.close();
conn.close();
}
}
}
思路
-
需要username,url,userpwd三个参数
-
通过调用 DriverManager.getConnection(url,username,userpwd)方法获得连接conn
conn= DriverManager.getConnection(url,username,userpwd);
-
通过连接创建Statement对象stSql
stSql= conn.createStatement();
-
通过statement对象stSql执行SQL语句 sqlString中存放SQL语句 结果放入结果集对象rs中
rs=stSql.executeQuery(sqlString);
-
操作结果集对象rs获得操作结果
-
关闭连接