JDBC

发布时间 2023-08-31 10:37:03作者: r7ftf
import java.sql.*;

//我的第一个JDBC程序
public class jdbcfirst {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//1.加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");//固定写法,加载驱动
//2.用户信息和url
String url="jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=ture&characterEncoding=utf8&useSSL=true";
String username = "root";
String password = "123456";
//3.连接成功,返回数据库对象
Connection connection = DriverManager.getConnection(url, username, password);
//4.执行sql对象
Statement statement = connection.createStatement();
//5.执行sql
String sql="select * from users";
ResultSet resultSet = statement.executeQuery(sql);//返回结果集
while(resultSet.next()){
System.out.println("id="+resultSet.getObject("id"));
System.out.println("username="+resultSet.getObject("name"));
System.out.println("password="+resultSet.getObject("password"));
System.out.println("email="+resultSet.getObject("email"));
System.out.println("birthday="+resultSet.getObject("birthday"));

}
//6.释放连接
resultSet.close();
statement.close();
connection.close();


}
}
/*
* DriverManager.registerDriver(new com.mysql.jdbc.Driver());//注册驱动
* Class.forName("com.mysql.cj.jdbc.Driver");//固定写法,加载驱动
* Class.forName() 是一个 Java 反射 API,用于动态加载并加载指定的类。它常用于加载数据库驱动程序类。
* mysql -- 默认端口:3306
* oracle -- 默认端口:1521
* sqlserver -- 默认端口:1433
* jdbc:mysql://主机地址:端口号/数据库名?参数1&参数2&参数3
*
* Connection connection = DriverManager.getConnection(url, username, password);
* connection 代表数据库
* 数据库设置自动提交 connection.setAutoCommit(true);
* 事务提交 connection.commit();
* 事务回滚 connection.rollback();
*
* Statement 执行SQL的对象
* PrepareStatement 执行SQL的对象
* Statement statement = connection.createStatement();
* statement.executeQuery(sql);//查询操作返回结果集
* statement.executeUpdate(sql);//更新操作返回的是影响的行数
* statement.execute(sql);//执行任何sql语句,返回boolean 会有个判断过程效率会低一点
*
* PreparedStatement preparedStatement = connection.prepareStatement(sql);
*
*resultSet.next();//移动指针到下一行
* resultSet.beforeFirst();//移动指针到第一行
* resultSet.absolute(n);//移动指针到第n行
* resultSet.afterLast();//移动指针到最后一行
* resultSet.last();//移动指针到最后一行
* resultSet.getRow();//获取当前行号
* resultSet.previous();//移动指针到前一行
*释放资源
* resultSet.close();
* statement.close();
* connection.close();
* jdbc中的statement对象用于向数据库发送SQL语句,想完成对数据库的增删查改,只需要对这个对象数据库发送增删查改语句即可
*
*
* */