JDBC连接mysql

JDBC简介

JDBC(Java Data Connectivity,java数据库连接)是一种用于执行sql语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。

数据库厂商使用驱动jar包实现JDBC接口,我们只需要导入相应的数据库驱动即可用统一接口访问数据库。

JDBC使用

  1. 注册驱动
  2. 获取连接
  3. 获取Statement
  4. 执行sql
  5. 关闭连接
  		//1.注册驱动
  		Class.forName("com.mysql.cj.jdbc.Driver"); //建议写,可以没有,会通过jar包中META-INF/services自动注册
  		//从properties文件中获取user=root ,password=123。
        Properties properties = new Properties();
        properties.load(new FileReader("src/mysql.properties"));
        String url="jdbc:mysql://127.0.0.1:3306/test";
		//2.获取连接
        Connection connection = DriverManager.getConnection(url,properties);
		//Connection connection = DriverManager.getConnection(url,user,password); 也可以这样
		//3.获取Statement
        Statement statement = connection.createStatement();
        //4.执行sql
  		String sql="delete from user where name='kd'";
        boolean n = statement.execute(sql);
		//5.关闭连接
        statement.close();
        connect.close();

通过结果集查询

在这里插入图片描述

		String sql="select * from user";
        ResultSet resultSet = statement.executeQuery(sql);
        while(resultSet.next()){
            int uid = resultSet.getInt(1);
            String name = resultSet.getString(2);
            String password = resultSet.getString(3);
            Date birth = resultSet.getDate(4);
            int sal = resultSet.getInt(5);
            System.out.println(uid+name+password+birth+sal);
        }
        resultSet.close();

PreparedStatement 预处理查询

  1. 用?代替sql中的参数
  2. 有效解决sql注入问题(Statement存在sql注入问题)
  3. 效率较高
		String sql="select * from user where uid=? and name=?";
        //通过连接获取preparedStatement对象
        PreparedStatement preparedStatement = connect.prepareStatement(sql);
        int uid=2;
        String name="xiaod";
        //向?赋值
        preparedStatement.setInt(1,uid);
        preparedStatement.setString(2,name);
        ResultSet resultSet = preparedStatement.executeQuery();
        
        while (resultSet.next())
        {
            String passwd = resultSet.getString(3);
            System.out.println(passwd);
        }
        resultSet.close();

你可能感兴趣的:(java,mysql,数据库)