JDBC_10_使用Statement实现升序和降序

使用Statement数据库操作对象实现升序和降序

  • Statement可以使用在需要SQL语句拼接的情况下,因为在这样的情况下如果使用PreparedStatement就会给需要拼接的某个SQL关键字加上单引号,那么SQL语法就会报错,例如本例子用在升序和降序上。ASC/DESC

  • 代码实例:


   import java.sql.*;
   import java.util.Scanner;

   /**
    * 业务需求:用户再控制台输入ASC就是升序,输入DESC就是降序
    */

   public class JDBCTest07 {
       public static void main(String[] args) {

           System.out.println("请输入命令: DESC/ASC");
           Scanner scanner=new Scanner(System.in);
           String command=scanner.nextLine();


           //创建数据库连接所需对象
           Connection connection=null;
           Statement statement=null;
           ResultSet resultSet=null;

           try {
               //注册驱动
               Class.forName("com.mysql.cj.jdbc.Driver");

               //获取连接
               connection= DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/employ?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai",
                       "root","123456");

               //获取数据库操作对象
               statement=connection.createStatement();

               //执行sql语句
               String sql="select * from emp order by SAL "+ command;
               resultSet=statement.executeQuery(sql);

               //处理查询结果集
               while (resultSet.next()){
                   System.out.print(resultSet.getInt("EMPNO")+"   ");
                   System.out.print(resultSet.getString("ENAME")+"   ");
                   System.out.print(resultSet.getString("JOB")+"   ");
                   System.out.print(resultSet.getInt("MGR")+"   ");
                   System.out.print(resultSet.getDate("HIREDATE")+"   ");
                   System.out.print(resultSet.getDouble("SAL")+"   ");
                   System.out.print(resultSet.getDouble("COMM")+"   ");
                   System.out.println(resultSet.getInt("DEPTNO"));
               }

           } catch (ClassNotFoundException | SQLException e) {
               e.printStackTrace();
           }finally {
               if(resultSet!=null){
                   try {
                       resultSet.close();
                   } catch (SQLException e) {
                       e.printStackTrace();
                   }
               }

               if(statement!=null){
                   try {
                       statement.close();
                   } catch (SQLException e) {
                       e.printStackTrace();
                   }
               }

               if(connection!=null){
                   try {
                       connection.close();
                   } catch (SQLException e) {
                       e.printStackTrace();
                   }
               }
           }

      }

 }
posted @ 2021-04-17 11:12  失昼  阅读(252)  评论(0)    收藏  举报