欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySQL连接Java

程序员文章站 2024-01-27 12:04:28
...

MySQL连接Java

···java

public class JdbcDemo1 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
    /* 以下是用到的对象的详解
       1.DriverManager:驱动管理对象
         功能:1.注册驱动(告诉程序该使用哪一个数据库驱动jar包)
                 static void registerDriver(Driver driver); 注册与给定的驱动程序DriverManger。
                 但是写代码时使用:Class.forName("com.mysql.cj.jdbc.Driver");指把这个文件加载进内存。
                 在com.mysql.cj.jdbc.Driver 类中会存在静态代码块,随着这个类的加载而执行。
                 * Class.forName("com.mysql.cj.jdbc.Driver");这句话不用写也可以注册驱动,也就是可以省略注册步骤。
                 因为在META-INF/services/java.sql.Drive文件中写了com.mysql.cj.jdbc.Driver,当你没有注册驱动时,会自动读取文件注册驱动
               2.获取数据库连接:
                 * 方法:static Connection getConnection(String url,String user,String password)
                 * 参数:
                        1.url :指定连接的路径
                        2.user :用户名
                        3:password :密码
       2.Connection:数据库连接对象
          功能:1获取执行sql的对象
                  Statement createStatement()
                  PreparedStatement prepareStatement(String sql)
                2.管理事务
       3.Statement:执行sql的对象
           1.执行sql
              方法:
               int executeUpdate(String sql) : 执行DML(insert,update,delete语句,DDL(create,alter,drop)语句
               * 返回值:影响的行数,可以通过这个影响的行数判断DML语句是否执行成功 返回值>0的则执行成功,反之则失败
               ResultSet executeQuery(String aql) :执行DQL(select)语句
               * 返回的是结果集
       4.ResultSet:结果集对象
       5.PreparedStatement:执行sql对象


     */
       //1.导入驱动jar包
       //在项目下创建一个文件夹,将mysql-connector-java-8.0.11.jar文件复制到文件夹下
       //2.注册驱动
       Class.forName("com.mysql.cj.jdbc.Driver");
       //3.获取数据库连接对象
       Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/db1?useSSL=FALSE&serverTimezone=UTC","root", "lemarry107");
       //4.获取执行sql对象statement
       Statement st = conn.createStatement();
       //5.定义SQL语句
       /*方法一:输出到控制台,只能执行DQL语句
       ResultSet rs = st.executeQuery("select*from user");
       while (rs.next()) {
           for (int i = 1; i <= 3; i++) {
               System.out.print(rs.getString(i) + "\t");
           }
           System.out.println();
       }
       st.close();
       conn.close();*/
       //方法二:cuont是编写的sql语句影响的行数,可以用这个来检查语句是否执行成功。
       String sql="update user set id=4";
       int count = st.executeUpdate(sql);
       //7.处理结果
       System.out.println(count);
       //8.释放资源
       st.close();
       conn.close();
   }
}

##方法一的结果
MySQL连接Java
##方法二的结果
数据库中改变
输入的sql语句影响三行MySQL连接Java
MySQL连接Java