先来看一看分页的实现原理

万能公式.jpg

项目目录.PNG

首先,新建Java Web项目

一. 梳理业务逻辑

重定向到URL(跳转到StudentViewAction页面)//index.jsp页面

1.从页面接收可变的值

2.接收值有问题时,初始化为1

3.如果没有问题,把String类型接收值强转成Integer

4.实例DAO方法,调用findStudentListByPageCount()方法(该方法得到总条数)

5.计算总页数:总页数 = 总条数 % 页容量

6.判断接收到页面传来的值是否小于1页

7.调用DAO中findStudentListByPageCount()(该方法获取数据集合)

8.封装打包页面

9.转发页面

request.getRequestDispatcher("list.jsp").forward(request, response);

//request.getRequestDispatcher("list.jsp") 找到要转发的页面

//forward(request, response); 实现转发

二. 实现界面展示

1.封装工具类JDBCUtil.java文件, 作用是连接数据库

package com.fyl.util;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.Scanner;

/**

* 文档注释(Java连接数据库的工具类)

*

*/

public class JDBCUtil {

// 注意:四个属性:驱动, 地址(URL), 用户名, 密码

// 驱动类:通过一个类名告诉java我现在使用的是什么数据库

private static final String CONN_DRIVER = "com.mysql.jdbc.Driver";

// URL:告诉Java我的数据库的具体位置(网络标识:通过什么端口哪台电脑获取什么资源)

private static final String CONN_URL = "jdbc:mysql://127.0.0.1:3306/student_db?characterEncoding=UTF-8";

// 用户名

private static final String CONN_USER_NAME = "root";

// 密码

private static final String CONN_USER_PASS = "123456";

public static Connection getConn() {

// 创建方法的返回变量

Connection conn = null;

try {

// 1.加载驱动类 让Java知道我们创建什么数据库的实例

Class.forName(CONN_DRIVER);

// 通过已经加载好的驱动类给我们提供连接

conn = DriverManager.getConnection(CONN_URL, CONN_USER_NAME,

CONN_USER_PASS);

} catch (ClassNotFoundException e) {

System.out.println("add DriverManager error!");

e.printStackTrace();

} catch (SQLException e) {

System.out.println("SQL error!");

e.printStackTrace();

}

return conn;

}

public static void closeAll(ResultSet set, PreparedStatement ps,

Connection conn) {

try {

if (null != set) {

set.close();

}

if (null != ps) {

ps.close();

}

if (null != conn) {

conn.close();

}

} catch (SQLException e) {

System.out.println("closeAll ERROR!");

e.printStackTrace();

}

}

public static void main(String[] args) {

// 获取数据库连接

Connection conn = JDBCUtil.getConn();

Scanner scan = new Scanner(System.in);

while (true) {

System.out.println("请素输入要查看的数据:");

int i = scan.nextInt();

int start = (i - 1) * 10;

int size = 10;

// 2.编写SQL语句(查询id > 0的数据, 连续查询10条记录)

String sql = "SELECT * FROM student WHERE s_id LIMIT ?,?";

// SELECT * FROM student WHERE s_id > 10 AND s_id <= (10 + 10)

// 3.运行SQL语句

try {

PreparedStatement ps = conn.prepareStatement(sql);

ps.setInt(1, start);

ps.setInt(2, size);

// 4.执行后返回结果(execute执行Query结果)

ResultSet set = ps.executeQuery();

System.out.println("学生编号\t学生姓名\t学生年龄\t入学时间\t学费");

for (; set.next();) {

System.out.print(set.getInt("S_ID") + "\t");

System.out.print(set.getString("S_NAME") + "\t");

System.out.print(set.getInt("S_AGE") + "\t");

System.out.print(set.getDate("S_INTODATE") + "\t");

System.out.print(set.getDouble("S_MONEY") + "\t");

System.out.println();

}

} catch (SQLException e) {

System.out.println("select error");

e.printStackTrace();

}

}

}

}

2.创建数据库实体类Student.java文件(Model层)

package com.fyl.entity;

import java.io.Serializable;

import java.util.Date;

/**

* 实体类

* @author Administrator

*

*/

public class Student implements Serializable {

private static final long serialVersionUID = 1L;//添加唯一标识

private Integer id;

private String name;

private int age;

private Date date;

private Double money;

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public Date getDate() {

return date;

}

public void setDate(Date date) {

this.date = date;

}

public Double getMoney() {

return money;

}

public void setMoney(Double money) {

this.money = money;

}

}

3.index.jsp界面(呈现给用户的第一个界面)

系统首页

// 重定向到URL

request.getRequestDispatcher("StudentViewAction").forward(request, response);

%>

4.新建servlet文件StudentViewAction.java(Controller层)

package com.fyl.web;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.List;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.fyl.dao.StudentDAO;

import com.fyl.dao.impl.StudentDAOImpl;

import com.fyl.entity.Student;

public class StudentViewAction extends HttpServlet {

private static final long serialVersionUID = 1L;

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doPost(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

//封装数据给页面

//整理页面需要的数据

int pageIndex = 0;//页面 //页面每次请求传过来的

int pageSize = 10;//

int totalCount = 0;

int totalPge = 0;

List list = null;

//从页面接收可变的值

String pi = request.getParameter("pageIndex");

//pi有问题的时候,初始化为1

if (null == pi || "".equals(pi)) {

pi = "1";

}

//如果pi没有问题的时候

pageIndex = Integer.parseInt(pi);

//从数据接收值

StudentDAO dao = new StudentDAOImpl();

//调用DAO方法

totalCount = dao.findStudentListByPageCount();

//计算总页数

totalPge = totalCount % pageSize == 0?totalCount/pageSize:totalCount/pageSize + 1;

//判断pageIndex的边界值

if (pageIndex < 1) {

pageIndex = 1;

}

if (pageIndex > totalPge) {

pageIndex = totalPge;

}

//获取数据集合

list = dao.findStudentListByPage(pageIndex, pageSize);

//封装打包页面

request.setAttribute("pageIndex", pageIndex);

request.setAttribute("pageSize", pageSize);

request.setAttribute("totalCount", totalCount);

request.setAttribute("totalPge", totalPge);

request.setAttribute("list", list);

//转发页面

request.getRequestDispatcher("list.jsp").forward(request, response);

}

}

新建list.jsp界面接收StudentViewAction传来的值

数据展示

function goUpdate(id){

window.location.href = "StudentFindByIDViewAction?id=" + id;

}

function goDelete(id){

var con = window.confirm("您确定删除ID为" + id + "这条数据吗?" );

if(con){

//删除

window.location.href = "StudentDeleteAction?id=" + id;

}

}

function goPage(pageIndex){

window.location.href = "StudentViewAction?pageIndex="+pageIndex;

}

function goPage(pageIndex){

window.location.href = "StudentViewAction?pageIndex="+pageIndex;

}

function goAdd(){

window.location.href = "add.jsp";

}

一共查询出${totalCount}条数据,每页展示${pageSize}条,一共有${totalPage}页,当前浏览的是第${pageIndex}页

学生ID 学生姓名 学生年龄 入学时间 学费 操作
${s.id} ${s.name} ${s.age}

||

三. 实现增删查改

创建接口, 新建StudentDAO.java接口文件, 添加增删查改方法

package com.fyl.dao;

import java.util.List;

import com.fyl.entity.Student;

public interface StudentDAO {

/**

* 更据id删除

* @param id

* @return

* @throws RuntimeException

*/

public boolean deleteStudent(Integer id) throws RuntimeException;

/**

* 根据ID查询单个学生对象

* @param id

* @return

* @throws RuntimeException

*/

public Student findStudentByID(Integer id) throws RuntimeException;

/*

* 添加学生方法

* @param student 要添加的学生

* @return 添加成功返回true 添加失败返回false

* @throws RuntimeException

*/

public boolean insertStudent(Student student)throws RuntimeException;

/**

* 查询数据库的总条数

* @return 总条数

* @throws RuntimeException

*/

public int findStudentListByPageCount() throws RuntimeException;

/**

* 获取分页数集合

* @param pageIndex 页码

* @param pageSize 页容量

* @return 已经分页的list集合

* @throws RuntimeException

*/

public List findStudentListByPage(Integer pageIndex, Integer pageSize) throws RuntimeException;

/*

* 更新学生信息

* @param student

* @return

* @throws RuntimeException

*/

public boolean updateStudent(Student student) throws RuntimeException;

}

2.新建StudentDAOImpl.java文件,实现接口

package com.fyl.dao.impl;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;

import com.fyl.dao.StudentDAO;

import com.fyl.entity.Student;

import com.fyl.util.JDBCUtil;

public class StudentDAOImpl implements StudentDAO {

// TODO

public int findStudentListByPageCount() throws RuntimeException {

// 1.创建方法的返回变量

int totalCount = 0;

// 3.获取数据库连接

Connection conn = JDBCUtil.getConn();

// 4.编写SQL语句

String sql = "SELECT COUNT(S_ID) FROM STUDENT";

// 执行SQL语句

PreparedStatement ps = null;

ResultSet set = null;

try {

ps = conn.prepareStatement(sql);

set = ps.executeQuery();

//处理

if (set.next()) {

totalCount = set.getInt(1);

}

} catch (SQLException e) {

// TODO

e.printStackTrace();

} finally {

JDBCUtil.closeAll(set, ps, conn);

}

return totalCount;

}

// TODO

public List findStudentListByPage(Integer pageIndex,

Integer pageSize) throws RuntimeException {

List list = new ArrayList();

//2.1获取数据库连接

Connection conn = JDBCUtil.getConn();

//3. 创建SQL语句

String sql = "SELECT * FROM STUDENT WHERE S_ID LIMIT ?,?";

//4.执行SQL语句

PreparedStatement ps = null;

ResultSet set = null;

try {

ps = conn.prepareStatement(sql);

ps.setInt(1, (pageIndex-1) * pageSize);

ps.setInt(2, pageSize);

set = ps.executeQuery();

Student s = null;

while (set.next()) {

s = new Student();

//封装数据

s.setId(set.getInt("S_ID"));

s.setName(set.getString("S_NAME"));

s.setAge(set.getInt("S_AGE"));

s.setMoney(set.getDouble("S_MONEY"));

s.setDate(set.getDate("S_INTODATE"));

// 将封装好的Student对像装入集合

list.add(s);

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} finally {

JDBCUtil.closeAll(set, ps, conn);

}

return list;

}

public boolean insertStudent(Student student) throws RuntimeException {

// TODO Auto-generated method stub

//1.定义方法返回变量

boolean con = false;

//3. 获取数据库连接

Connection conn = JDBCUtil.getConn();

//4. 编写SQL语句

String sql = "INSERT INTO STUDENT (S_NAME,S_AGE,S_INTODATE,S_MONEY) VALUES (?,?,?,?)";

// 5. 执行SQL语句

PreparedStatement ps = null;

try {

ps = conn.prepareStatement(sql);

// 6. 是否有占位符赋值?

ps.setString(1, student.getName());

ps.setInt(2, student.getAge());

ps.setDate(3, new java.sql.Date(student.getDate().getTime()));

ps.setDouble(4, student.getMoney());

int count = ps.executeUpdate(); // 执行增 删 改 SQL 返回int类型的受影响行数

// 7. 改变方法的返回值

con = count>0?true:false;

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

// 2. 返回con

return con;

}

// TODO 根据id查询

public Student findStudentByID(Integer id) throws RuntimeException {

//创建方法的返回值

Student student = null;

Connection conn = JDBCUtil.getConn();

//编写SQL语句

String sql = "SELECT * FROM STUDENT WHERE S_ID = ?";

//执行SQL语句

PreparedStatement ps = null;

ResultSet set = null;

try {

ps = conn.prepareStatement(sql);

//是否有占位符

ps.setInt(1, id);

set = ps.executeQuery();

if(set.next()){

//创建实例对象封装查询数据

student = new Student();

student.setId(set.getInt("S_ID"));

student.setAge(set.getInt("S_AGE"));

student.setDate(set.getDate("S_INTODATE"));

student.setMoney(set.getDouble("S_MONEY"));

student.setName(set.getString("S_NAME"));

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally{

JDBCUtil.closeAll(set, ps, conn);

}

return student;

}

// TODO 更新学生信息

public boolean updateStudent(Student student) throws RuntimeException {

//创建方法的返回值

boolean con = false;

//获取数据库连接

Connection conn = JDBCUtil.getConn();

//编写SQL语句

String sql = "UPDATE STUDENT SET S_NAME=?,S_AGE=?,S_INTODATE=?,S_MONEY=? WHERE S_ID=?";

//执行SQL语句

PreparedStatement ps = null;

try {

ps = conn.prepareStatement(sql);

//是否有占位符

ps.setString(1, student.getName());

ps.setInt(2, student.getAge());

ps.setDate(3, new java.sql.Date(student.getDate().getTime()));

ps.setDouble(4, student.getMoney());

ps.setInt(5, student.getId());

int count = ps.executeUpdate();

con = count>0?true:false;

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return con;

}

// TODO delete

public boolean deleteStudent(Integer id) throws RuntimeException {

//创建方法的返回变量

boolean con = false;

//获取数据库链接

Connection conn = JDBCUtil.getConn();

//编写SQL语句

String sql = "DELETE FROM STUDENT WHERE S_ID = ?";

//执行SQL语句

PreparedStatement ps = null;

try {

ps = conn.prepareStatement(sql);

ps.setInt(1, id);

int count = ps.executeUpdate();

con = count > 0?true:false;

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally{

JDBCUtil.closeAll(null, ps, conn);

}

return con;

}

// TODO main

public static void main(String[] args) {

StudentDAO dao = new StudentDAOImpl();

System.out.println(dao.findStudentListByPageCount());

}

}

3.创建servlet文件StudentAddAction.java接收用户传入的值,添加到数据库并展示到list.jsp(增)

package com.fyl.web;

import java.io.IOException;

import java.io.PrintWriter;

import java.text.DateFormat;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.fyl.dao.StudentDAO;

import com.fyl.dao.impl.StudentDAOImpl;

import com.fyl.entity.Student;

public class StudentAddAction extends HttpServlet {

private static final long serialVersionUID = 1L;

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

this.doPost(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

//设置请求来源的编码

request.setCharacterEncoding("UTF-8");

//1. 接收页面数据

String studentName = request.getParameter("studentName");

String studentAge = request.getParameter("studentAge");

String intoDate = request.getParameter("intoDate");

String money = request.getParameter("money");

//2. 封装

Student student = new Student();

student.setName(studentName);

student.setAge(Integer.parseInt(studentAge));

student.setMoney(Double.parseDouble(money));

// String 转 时间

DateFormat df = new SimpleDateFormat("yyyy-MM-dd");

try {

Date d = df.parse(intoDate);

student.setDate(d);

} catch (ParseException e) {

e.printStackTrace();

}

// 3. 创建DAO层对象添加到数据库

StudentDAO dao = new StudentDAOImpl();

boolean con = dao.insertStudent(student);

if(con){

// 添加成功

response.sendRedirect("StudentViewAction");

}else{

// 添加失败

// 通过服务器的响应流主动向客户端发送信息

response.setCharacterEncoding("UTF-8");

response.setContentType("text/html; charset=UTF-8");

String msg = "";

PrintWriter out = response.getWriter();

out.print(msg);

out.flush();

out.close();

}

}

}

4.创建servlet文件StudentDeleteAction.java接收用户传入的值,删除数据库中指定文件并展示到list.jsp(删)

package com.fyl.web;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.fyl.dao.StudentDAO;

import com.fyl.dao.impl.StudentDAOImpl;

public class StudentDeleteAction extends HttpServlet {

private static final long serialVersionUID = 1L;

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

this.doPost(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

//1. 确定编码

request.setCharacterEncoding("UTF-8");

//2. 获取页面数据

String id = request.getParameter("id");

//3. 创建DAO方法执行删除

StudentDAO dao = new StudentDAOImpl();

boolean con = dao.deleteStudent(Integer.parseInt(id));

if(con){

//添加成功

response.sendRedirect("StudentViewAction");

}else{

//添加失败

response.setCharacterEncoding("UTF-8");

response.setContentType("text/html; charset=UTF-8");

String msg = "";

PrintWriter out = response.getWriter();

out.print(msg);

out.flush();

out.close();

}

}

}

创建servlet文件StudentFindByIDViewAction.java接收用户传入的值,查询数据库中指定文件并展示到list.jsp(查)

package com.fyl.web;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.fyl.dao.StudentDAO;

import com.fyl.dao.impl.StudentDAOImpl;

import com.fyl.entity.Student;

public class StudentFindByIDViewAction extends HttpServlet {

private static final long serialVersionUID = 1L;

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

this.doPost(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

//设置编码

request.setCharacterEncoding("UTF-8");

//接收页面输入

String id = request.getParameter("id");

//创建DAO层对象

StudentDAO dao = new StudentDAOImpl();

Student student = dao.findStudentByID(new Integer(id));

request.setAttribute("stu", student);

request.getRequestDispatcher("update.jsp").forward(request, response);

}

}

6.创建servlet文件StudentUpdateAction.java接收用户传入的值,更新数据库中指定文件并展示到list.jsp(改)

package com.fyl.web;

import java.io.IOException;

import java.io.PrintWriter;

import java.text.DateFormat;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.fyl.dao.StudentDAO;

import com.fyl.dao.impl.StudentDAOImpl;

import com.fyl.entity.Student;

public class StudentUpdateAction extends HttpServlet {

private static final long serialVersionUID = 1L;

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

this.doPost(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

//设置请求来源的编码格式

request.setCharacterEncoding("UTF-8");

//1. 设置接收页面数据

String studentId = request.getParameter("studentId");

String studentName = request.getParameter("studentName");

String studentAge = request.getParameter("studentAge");

String intoDate = request.getParameter("Date");

String money = request.getParameter("money");

//2. 封装

Student student = new Student();

String studentId1 = studentId.trim();

student.setId(Integer.parseInt(studentId1));

student.setName(studentName);

student.setAge(Integer.parseInt(studentAge));

student.setMoney(Double.parseDouble(money));

//String转时间

DateFormat df = new SimpleDateFormat("yyyy-MM-dd");

try {

Date d = df.parse(intoDate);

student.setDate(d);

} catch (ParseException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

//3. 创建DAO层对象添加到数据库

StudentDAO dao = new StudentDAOImpl();

boolean con = dao.updateStudent(student);

if(con)0.{

//添加成功

response.sendRedirect("StudentViewAction");

}else{

//添加失败

//通过服务器的响应流主动向客户端发送信息

response.setCharacterEncoding("UTF-8");

response.setContentType("text/html; charset=UTF-8");

String msg = "";

PrintWriter out = response.getWriter();

out.print(msg);

out.flush();

out.close();

}

}

}

java web 来源页_Java:Java Web--分页效果相关推荐

  1. java下一页(关于java分页操作)

    首先我们要理清楚分页java下一页我们都需要哪些数据,是否需要工作类 public class Page<T> {// java下一页当前页码private int pageIndex;/ ...

  2. java 抛出空指针_java - Java ServerSocket抛出空指针异常 - 堆栈内存溢出

    我正在尝试通过Android中的Java套接字实现文件传输. 它工作正常,但当我关闭应用程序时,它崩溃,控制台显示nullPointerException. 我已经尝试了一切,但无法找到问题! 我已经 ...

  3. java swing的弹窗_java Swing实现弹窗效果

    使用Swing实现的一个简单弹窗功能,基本容器的使用办法,代码如下: package test1; import java.awt.Color; import java.awt.Container; ...

  4. java web 来源页_JavaWeb 分页实现

    一·数据库的分页实现 看一下数据库里有多少记录: select count(*) from tbl_student limit 0,3; mysql分页是通过limit,实现的: 从第0条开始取3条. ...

  5. java web 数据库操作_Java Web----Java Web的数据库操作(三)

    Java Web的数据库操作 前面介绍了JDBC技术和JDBC API及API的使用示例,下面详细介绍JDBC在Web中的应用. 四.JDBC在Java Web中的应用 通常情况下,Web程序操作数据 ...

  6. java servlet深入理解_java 步步惊心 (web ) 深入理解servlet

    用户在浏览器中输入一个网址回车,浏览器会向服务器发送一个HTTP请求. 服务器端程序接受这个请求,并对请求进行处理,然后发送回应,浏览收到回应,再把回应的内容显示出业. 这种请求-响应模式就是典型we ...

  7. java web 手机验证_Java 手机Web开发 身份验证

    Java web和手机端开发 遇到比较麻烦的就是身份验证 目前为止觉得最好的解决方案是 Java 中使用jwt 为什么要使用jwt,让网络数据更加安全,以防其他一些人无意恶搞 在这里简单说下:jwt是 ...

  8. java 拦截所有路径_Java或Web中解决所有路径问题

    Java中使用的路径,分为两种:绝对路径和相对路径.归根结底,Java本质上只能使用绝对路径来寻找资源.所有的相对路径寻找资源的方法,都不过是一些便利方法.不过是API在底层帮助我们构建了绝对路径,从 ...

  9. java web 数据库操作_Java Web----Java Web的数据库操作(二)

    Java Web的数据库操作 三.JDBC操作数据库 上一篇介绍了JDBC API,之后就可以通过API来操作数据库,实现对数据库的CRUD操作了. 下面仅以示例 的方式对数据库操作进行说明 1. 添 ...

最新文章

  1. 怎样把字符1变成数字1
  2. 皮克斯首款VR体验《寻梦环游记》登陆 Oculus Rift
  3. EIGRP实验--协议工作过程详解(一)
  4. android除去标题栏或全屏
  5. 数学建模——主成分分析算法详解Python代码
  6. 烂泥:mysql帮助命令使用说明
  7. 计算机组成原理中lad什么意思,计算机组成原理的大神们能不能帮忙做几道题啊...
  8. Git提交到码云(转)
  9. 牛客题霸 [最长公共子序列] C++题解/答案
  10. hex和base32和base64的区别与联系
  11. 今天遇到的一个诡异的core和解决 std::sort
  12. ahk写入excel单元格_AHK(二):设置Excel操作快捷键
  13. 【Front Plant Sci】LvMYB5 和 LvMYB1转录因子调控百合花青素合成
  14. Java编写 随机对数组赋值
  15. C++20 barrier
  16. win7怎么看服务器芯片,Win7如何查看CPU使用率?Win7CPU使用率的查看方法
  17. 你有职场危机感吗?5个建议为你的职业生涯加分!
  18. scrapy源码学习 - 启动一个crawl命令
  19. 【算法类】【预处理】利用skit-learn分割训练集测试集
  20. GitLab CI/CD系列教程(一)

热门文章

  1. Storm精华问答 | 遇到这些错误日志该如何解决?
  2. 没有新芯片,没有“大核弹”,黄教主这次给大家带来了个PRADA
  3. html文字...点击后全部显示,js 文字超出部分隐藏、点击显示更多示例
  4. 中继承父类实现父类方法的快捷键_关于封装、继承
  5. python机械臂仿真_基于Python的3R机器人运动仿真
  6. 多项式拟合lm_R语言多项式回归
  7. 无公网域名,使用ngrok开启反向代理,实现公网域名访问本地项目
  8. (企业案例)使用Nacos持久化规则,改造sentinel-dashboard
  9. Linux Shell脚本专栏_批量创建100用户并设置密码脚本_03
  10. 小程序开发(7)-之获取手机号、用户信息