java web 来源页_Java:Java Web--分页效果
先来看一看分页的实现原理
万能公式.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--分页效果相关推荐
- java下一页(关于java分页操作)
首先我们要理清楚分页java下一页我们都需要哪些数据,是否需要工作类 public class Page<T> {// java下一页当前页码private int pageIndex;/ ...
- java 抛出空指针_java - Java ServerSocket抛出空指针异常 - 堆栈内存溢出
我正在尝试通过Android中的Java套接字实现文件传输. 它工作正常,但当我关闭应用程序时,它崩溃,控制台显示nullPointerException. 我已经尝试了一切,但无法找到问题! 我已经 ...
- java swing的弹窗_java Swing实现弹窗效果
使用Swing实现的一个简单弹窗功能,基本容器的使用办法,代码如下: package test1; import java.awt.Color; import java.awt.Container; ...
- java web 来源页_JavaWeb 分页实现
一·数据库的分页实现 看一下数据库里有多少记录: select count(*) from tbl_student limit 0,3; mysql分页是通过limit,实现的: 从第0条开始取3条. ...
- java web 数据库操作_Java Web----Java Web的数据库操作(三)
Java Web的数据库操作 前面介绍了JDBC技术和JDBC API及API的使用示例,下面详细介绍JDBC在Web中的应用. 四.JDBC在Java Web中的应用 通常情况下,Web程序操作数据 ...
- java servlet深入理解_java 步步惊心 (web ) 深入理解servlet
用户在浏览器中输入一个网址回车,浏览器会向服务器发送一个HTTP请求. 服务器端程序接受这个请求,并对请求进行处理,然后发送回应,浏览收到回应,再把回应的内容显示出业. 这种请求-响应模式就是典型we ...
- java web 手机验证_Java 手机Web开发 身份验证
Java web和手机端开发 遇到比较麻烦的就是身份验证 目前为止觉得最好的解决方案是 Java 中使用jwt 为什么要使用jwt,让网络数据更加安全,以防其他一些人无意恶搞 在这里简单说下:jwt是 ...
- java 拦截所有路径_Java或Web中解决所有路径问题
Java中使用的路径,分为两种:绝对路径和相对路径.归根结底,Java本质上只能使用绝对路径来寻找资源.所有的相对路径寻找资源的方法,都不过是一些便利方法.不过是API在底层帮助我们构建了绝对路径,从 ...
- java web 数据库操作_Java Web----Java Web的数据库操作(二)
Java Web的数据库操作 三.JDBC操作数据库 上一篇介绍了JDBC API,之后就可以通过API来操作数据库,实现对数据库的CRUD操作了. 下面仅以示例 的方式对数据库操作进行说明 1. 添 ...
最新文章
- 怎样把字符1变成数字1
- 皮克斯首款VR体验《寻梦环游记》登陆 Oculus Rift
- EIGRP实验--协议工作过程详解(一)
- android除去标题栏或全屏
- 数学建模——主成分分析算法详解Python代码
- 烂泥:mysql帮助命令使用说明
- 计算机组成原理中lad什么意思,计算机组成原理的大神们能不能帮忙做几道题啊...
- Git提交到码云(转)
- 牛客题霸 [最长公共子序列] C++题解/答案
- hex和base32和base64的区别与联系
- 今天遇到的一个诡异的core和解决 std::sort
- ahk写入excel单元格_AHK(二):设置Excel操作快捷键
- 【Front Plant Sci】LvMYB5 和 LvMYB1转录因子调控百合花青素合成
- Java编写 随机对数组赋值
- C++20 barrier
- win7怎么看服务器芯片,Win7如何查看CPU使用率?Win7CPU使用率的查看方法
- 你有职场危机感吗?5个建议为你的职业生涯加分!
- scrapy源码学习 - 启动一个crawl命令
- 【算法类】【预处理】利用skit-learn分割训练集测试集
- GitLab CI/CD系列教程(一)
热门文章
- Storm精华问答 | 遇到这些错误日志该如何解决?
- 没有新芯片,没有“大核弹”,黄教主这次给大家带来了个PRADA
- html文字...点击后全部显示,js 文字超出部分隐藏、点击显示更多示例
- 中继承父类实现父类方法的快捷键_关于封装、继承
- python机械臂仿真_基于Python的3R机器人运动仿真
- 多项式拟合lm_R语言多项式回归
- 无公网域名,使用ngrok开启反向代理,实现公网域名访问本地项目
- (企业案例)使用Nacos持久化规则,改造sentinel-dashboard
- Linux Shell脚本专栏_批量创建100用户并设置密码脚本_03
- 小程序开发(7)-之获取手机号、用户信息