会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132382个问题
JAVA 全系列/第三阶段:数据库编程/MySQL数据库的使用 376楼
JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 378楼


微信图片_20220124171215.png

JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 379楼

老师,这是我对逻辑分页代码实现的一个理解,请问您觉得有什么需要纠正的地方吗?

public void selectDeptPage(int current,int pageRows){
    Connection conn=null;
    Statement state=null;
    ResultSet rs=null;

    try {
        conn=JdbcUtil.getConnection();
        String sql="select * from department";
        state=conn.createStatement();
        rs=state.executeQuery(sql);
        int begin=(current-1)*pageRows; //表示取每页的第一条数据所在位置的索引,最小为0
        int end=current*pageRows;  //表示每页的最后一条数据的位置,这个位置是指一般人的位置思维中的位置,即最后一条数据的索引位置+1,

        int currentNum=0;  //当前位置的计数器
        while (rs.next()){
            if(currentNum>=begin&&currentNum<end){  //当计数器大于或等于每页第一条数据的索引以及小于最后一条数据的位置时,打印出表中指定列的数据
                System.out.println(rs.getInt("department_id")+" "+rs.getString("department_name")+" "+rs.getInt(3));
                if(currentNum==end-1){  
                    break;  //当计数器等于每页最后一条数据的索引值时,表示属于当前页current的数据结果集已经获取完毕,没有必要再继续移动指针获取下一行的结果集,直接结束while循环
                }
            }
            currentNum++;  
        }

    } catch (SQLException e) {
        e.printStackTrace();
    }finally {
        JdbcUtil.closeResource(state,conn,rs);
    }
}


JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 381楼
JAVA 全系列/第三阶段:数据库编程/Oracle 数据库的使用 382楼
JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 385楼

package com.bjsxt;


import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.Statement;


public class JdbcTest {

    //向departments表中添加一条数据

    public void insertDepartments(String department_name,int location_id){

        Connection conn = null;

        Statement state = null;

        try {

            //驱动注册

            Class.forName("com.mysql.jdbc.Driver");

            //创建连接

            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bjsxt?useUnicode=true&characterEncoding=utf-8","root","123456");

            //执行sql

            String sql="insert into departments values(default,'"+department_name+"',"+location_id+")";

            state = conn.createStatement();

            int falg = state.executeUpdate(sql);

            System.out.println(falg);

        } catch (Exception e) {

            e.printStackTrace();

        }finally {

            if (state !=null){

                try {

                    state.close();

                } catch (SQLException e) {

                    e.printStackTrace();

                }

            }

        }

        if (conn !=null){

            try {

                conn.close();

            } catch (SQLException e) {

                e.printStackTrace();

            }

        }

    }

    public static void main(String[] args) {

        JdbcTest test = new JdbcTest();

        test.insertDepartments("研发部",8);

    }

}

还在报错。

JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 387楼
JAVA 全系列/第三阶段:数据库编程/SQL 语言 388楼
JAVA 全系列/第三阶段:数据库编程/数据库设计范式 390楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637