1.今天来写一个简单的增删改查功能,这个项目还是接着在昨天写的 --JavaWeb实现简单登录注册-- 来写的。

登录成功进来后对学生信息的增删改查

2.项目文件为:

3.好了,直接贴上今天新写的代码,昨天的代码就不重复贴了。

src文件下的代码:

controller:

 package com.maike.controller;

 import java.io.IOException;
import java.util.List; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.maike.model.Student;
import com.maike.model.StudentDto;
import com.maike.service.UserService;
import com.maike.service.UserServiceImpl; /**
* Servlet implementation class AddStuServlet
*/
@WebServlet("/AddStuServlet")
public class AddStuServlet extends HttpServlet {
UserService userService = new UserServiceImpl();
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public AddStuServlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String stuName = request.getParameter("stuName");
String stuSex = request.getParameter("stuSex");
String stuAge = request.getParameter("stuAge");
String stuClass = request.getParameter("stuClass"); StudentDto studentDto = new StudentDto();
studentDto.setStuName(stuName);
studentDto.setStuSex(stuSex);
studentDto.setStuAge(stuAge);
studentDto.setStuClass(stuClass); int k = userService.addStu(studentDto);
if(k > 0) {
List<Student> list = userService.seleStuAll();
request.setAttribute("stuList", list);
request.getRequestDispatcher("showStu.jsp").forward(request, response);
}else {
response.getWriter().append("添加失败").append(request.getContextPath());
request.getRequestDispatcher("addStu.jsp").forward(request, response);
}
} }

AddStuServlet

 package com.maike.controller;

 import java.io.IOException;
import java.util.List; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.maike.model.Student;
import com.maike.service.UserService;
import com.maike.service.UserServiceImpl; /**
* Servlet implementation class DeleteStuServlet
*/
@WebServlet("/DeleteStuServlet")
public class DeleteStuServlet extends HttpServlet {
UserService userService = new UserServiceImpl();
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public DeleteStuServlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String stuName = request.getParameter("stuName");
int k = userService.deleteStu(stuName);
List<Student> list = userService.seleStuAll();
request.setAttribute("stuList", list);
request.getRequestDispatcher("showStu.jsp").forward(request, response);
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
} }

DeleteStuServlet

 package com.maike.controller;

 import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; /**
* Servlet implementation class ToAddStuServlet
*/
@WebServlet("/ToAddStuServlet")
public class ToAddStuServlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public ToAddStuServlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.getRequestDispatcher("addStu.jsp").forward(request, response); } /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
} }

ToAddStuServlet

 package com.maike.controller;

 import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.maike.model.Student;
import com.maike.service.UserService;
import com.maike.service.UserServiceImpl; /**
* Servlet implementation class ToUpdateStuServlet
*/
@WebServlet("/ToUpdateStuServlet")
public class ToUpdateStuServlet extends HttpServlet {
UserService userService = new UserServiceImpl();
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public ToUpdateStuServlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String stuName = request.getParameter("stuName");
Student student = userService.getStuByName(stuName);
request.setAttribute("student", student);
request.getRequestDispatcher("updateStu.jsp").forward(request, response);
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
} }

ToUpdateStuServlet

 package com.maike.controller;

 import java.io.IOException;
import java.util.List; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.maike.model.Student;
import com.maike.service.UserService;
import com.maike.service.UserServiceImpl; /**
* Servlet implementation class UpdateStuServlet
*/
@WebServlet("/UpdateStuServlet")
public class UpdateStuServlet extends HttpServlet {
UserService userService = new UserServiceImpl();
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public UpdateStuServlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
String stuName = request.getParameter("stuName");
String stuSex = request.getParameter("stuSex");
String stuClass = request.getParameter("stuClass");
Student student = new Student();
student.setStuName(stuName);
student.setStuSex(stuSex);
student.setStuClass(stuClass);
int k = userService.updateStu(student);
List<Student> list = userService.seleStuAll();
request.setAttribute("stuList", list);
request.getRequestDispatcher("showStu.jsp").forward(request, response);
} }

UpdateStuServlet

dao:

 package com.maike.dao;

 import java.util.List;

 import com.maike.model.Student;

 public interface StudentDao {

     List<Student> selectAll();
Student selectByName(String stuName);
int insert(Student student);
int update(Student student);
int delete(String stuName); }

StudentDao

 package com.maike.dao;

 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.maike.model.Student;
import com.maike.util.ConnectionUtil; public class StudentDaoImpl implements StudentDao {
Student student;
Connection con = null;
PreparedStatement pt = null;
ResultSet rs = null;
String sql; /**
* 查询所有学生
*/
@Override
public List<Student> selectAll() {
// TODO Auto-generated method stub
List<Student> list = new ArrayList<Student>();
sql = "select * from student";
try {
con = ConnectionUtil.getConnection();
pt = con.prepareStatement(sql);
rs = pt.executeQuery(); while(rs.next()) {
student = new Student();
student.setStuId(rs.getInt("stu_id"));
student.setStuName(rs.getString("stu_name"));
student.setStuSex(rs.getString("stu_sex"));
student.setStuAge(rs.getInt("stu_age"));
student.setStuClass(rs.getString("stu_class")); list.add(student);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
ConnectionUtil.closeRe(con, pt, rs);
}
return list;
} /**
* 通过名字查询学生
*/
@Override
public Student selectByName(String stuName) {
// TODO Auto-generated method stub
sql = "select * from student where stu_name = ?";
try {
con = ConnectionUtil.getConnection();
pt = con.prepareStatement(sql);
pt.setString(1, stuName);
rs = pt.executeQuery(); while(rs.next()) {
student = new Student();
student.setStuId(rs.getInt("stu_id"));
student.setStuName(rs.getString("stu_name"));
student.setStuSex(rs.getString("stu_sex"));
student.setStuAge(rs.getInt("stu_age"));
student.setStuClass(rs.getString("stu_class"));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
ConnectionUtil.closeRe(con, pt, rs);
}
return student;
} /**
* 添加学生
*/
@Override
public int insert(Student student) {
// TODO Auto-generated method stub
int k = 0;
sql = "insert into student values(null,?,?,?,?)";
try {
con = ConnectionUtil.getConnection();
pt = con.prepareStatement(sql);
pt.setString(1, student.getStuName());
pt.setString(2, student.getStuSex());
pt.setInt(3, student.getStuAge());
pt.setString(4, student.getStuClass()); k = pt.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
ConnectionUtil.closeRe(con, pt);
}
return k;
} /**
* 更新学生
*/
@Override
public int update(Student student) {
// TODO Auto-generated method stub
int k = 0;
sql = "update student set stu_sex = ? ,stu_class = ? where stu_name = ?";
try {
con = ConnectionUtil.getConnection();
pt = con.prepareStatement(sql);
pt.setString(1, student.getStuSex());
pt.setString(2, student.getStuClass());
pt.setString(3, student.getStuName()); k = pt.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
ConnectionUtil.closeRe(con, pt);
}
return k;
} /**
* 通过名字删除学生
*/
@Override
public int delete(String stuName) {
// TODO Auto-generated method stub
int k = 0;
sql = "delete from student where stu_name = ?";
try {
con = ConnectionUtil.getConnection();
pt = con.prepareStatement(sql);
pt.setString(1, stuName); k = pt.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
ConnectionUtil.closeRe(con, pt);
}
return k;
} }

StudentDaoImpl

model:

 package com.maike.model;

 public class Student {

     private int stuId;

     private String stuName;

     private String stuSex;

     private int stuAge;

     private String stuClass;

     public int getStuId() {
return stuId;
} public void setStuId(int stuId) {
this.stuId = stuId;
} public String getStuName() {
return stuName;
} public void setStuName(String stuName) {
this.stuName = stuName;
} public String getStuSex() {
return stuSex;
} public void setStuSex(String stuSex) {
this.stuSex = stuSex;
} public int getStuAge() {
return stuAge;
} public void setStuAge(int stuAge) {
this.stuAge = stuAge;
} public String getStuClass() {
return stuClass;
} public void setStuClass(String stuClass) {
this.stuClass = stuClass;
} @Override
public String toString() {
return "Student [stuId=" + stuId + ", stuName=" + stuName + ", stuSex=" + stuSex + ", stuAge=" + stuAge
+ ", stuClass=" + stuClass + "]";
} }

Student

 package com.maike.model;

 public class StudentDto {

     private String stuId;

     private String stuName;

     private String stuSex;

     private String stuAge;

     private String stuClass;

     public String getStuId() {
return stuId;
} public void setStuId(String stuId) {
this.stuId = stuId;
} public String getStuName() {
return stuName;
} public void setStuName(String stuName) {
this.stuName = stuName;
} public String getStuSex() {
return stuSex;
} public void setStuSex(String stuSex) {
this.stuSex = stuSex;
} public String getStuAge() {
return stuAge;
} public void setStuAge(String stuAge) {
this.stuAge = stuAge;
} public String getStuClass() {
return stuClass;
} public void setStuClass(String stuClass) {
this.stuClass = stuClass;
} @Override
public String toString() {
return "StudentDto [stuId=" + stuId + ", stuName=" + stuName + ", stuSex=" + stuSex + ", stuAge=" + stuAge
+ ", stuClass=" + stuClass + "]";
} }

StudentDto

service:

 package com.maike.service;

 import java.util.List;

 import com.maike.model.Student;
import com.maike.model.StudentDto; public interface UserService { int insertUser(String userName,String userPwd,String userRePwd);
int judgeLogin(String userName,String userPwd); List<Student> seleStuAll();
int addStu(StudentDto studentDto);
int updateStu(Student student);
int deleteStu(String stuName);
Student getStuByName(String stuName); }

UserService

     /**
* seleStuAll:查询所有学生信息. <br/>
*/
@Override
public List<Student> seleStuAll() {
// TODO Auto-generated method stub
return studentDao.selectAll();
} /**
* addStu:添加学生信息 .<br/>
*/
@Override
public int addStu(StudentDto studentDto) {
// TODO Auto-generated method stub
int k = 0;
String stuName = studentDto.getStuName();
String stuAge = studentDto.getStuAge();
if(stuName == null || stuAge == null) {
return k;
}
int IntAge = Integer.parseInt(stuAge);
Student student = new Student();
student.setStuName(stuName);
student.setStuSex(studentDto.getStuSex());
student.setStuAge(IntAge);
student.setStuClass(studentDto.getStuClass());
k = studentDao.insert(student);
return k;
} /**
* updateStu:修改学生信息 .<br/>
*/
@Override
public int updateStu(Student student) {
// TODO Auto-generated method stub
return studentDao.update(student);
} /**
* deleteStu :删除学生信息 .<br/>
*/
@Override
public int deleteStu(String stuName) {
// TODO Auto-generated method stub
return studentDao.delete(stuName);
} /**
* 通过名字查询学生
*/
@Override
public Student getStuByName(String stuName) {
// TODO Auto-generated method stub
return studentDao.selectByName(stuName);
}

UserServiceImpl

jsp页面:

 <%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>学生信息</title>
</head>
<body>
<br/>
<br/>
<br/>
<h2 align = "center">学生信息列表</h2>
<table align = "center" width="15%">
<tr>
<th align = "center"><a href = "ToAddStuServlet"><button style = "color:blue">添加学生</button></a></th>
</tr>
</table>
<table align = "center">
<tr>
<th>姓名</th><th>性别</th><th>年龄</th><th>班级</th><th colspan="2">管理</th>
</tr>
<c:forEach var = "list" items="${stuList}">
<tr>
<td>${list.stuName }</td><td>${list.stuSex}</td><td>${list.stuAge }</td><td>${list.stuClass}</td>
<td><a href = "DeleteStuServlet?stuName=${list.stuName }" ><button style = "color:blue">删除</button></a></td><td><a href = "ToUpdateStuServlet?stuName=${list.stuName }"><button style = "color:blue">修改</button></a></td>
</tr>
</c:forEach>
</table>
</body>
</html>

showStu

 <%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>添加页面</title>
</head>
<body>
<br>
<br>
<br>
<h2 align = "center">添加页面</h2>
<form action="AddStuServlet" method = "post">
<table align = "center">
<tr>
<td>名字</td><td><input type = "text" name = "stuName" ></td>
</tr>
<tr>
<td>性别</td><td><input type = "text" name = "stuSex" ></td>
</tr>
<tr>
<td>年龄</td><td><input type = "text" name = "stuAge" placeholder ="请输入整数" ></td>
</tr>
<tr>
<td>班级</td><td><input type = "text" name = "stuClass" ></td>
</tr>
<tr>
<td colspan="2" align = "center"><input type="submit" value = "添加" style="color:blue" ></td>
</tr>
</table>
</form>
</body>
</html>

addStu

 <%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>修改页面</title>
</head>
<body>
<br>
<br>
<br>
<h2 align = "center">修改页面</h2>
<form action="UpdateStuServlet" method = "post" align = "center">
<table align = "center">
<tr>
<td>名字</td><td><input type = "text" name = "stuName" value = "${student.stuName }" readonly="readonly" ></td>
</tr>
<tr>
<td>性别</td><td><input type = "text" name = "stuSex" value = "${student.stuSex }"></td>
</tr>
<tr>
<td>年龄</td><td><input type = "text" name = "stuAge" value = "${student.stuAge }" disabled="disabled"></td>
</tr>
<tr>
<td>班级</td><td><input type = "text" name = "stuClass" value = "${student.stuClass }"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value = "修改" style="color:blue" ></td>
</tr>
</table>
</form>
</body>
</html>

updateStu

数据库创建语句:

 CREATE TABLE nanfeng.student (
stu_id INT NOT NULL AUTO_INCREMENT,
stu_name varchar(100) NULL,
stu_sex varchar(100) NULL,
stu_age INT NULL,
stu_class varchar(100) NULL,
CONSTRAINT student_pk PRIMARY KEY (stu_id)
)
ENGINE=InnoDB
DEFAULT CHARSET=utf8
COLLATE=utf8_general_ci;

JavaWeb 增删改查功能的更多相关文章

  1. Online Coding开发模式 (通过在线配置实现一个表模型的增删改查功能,无需写任何代码)

    JEECG 智能开发平台. 开发模式由代码生成器转变为Online Coding模式                      (通过在线配置实现一个表模型的增删改查功能,无需一行代码,支持用户自定义 ...

  2. 使用MVC5+Entity Framework6的Code First模式创建数据库并实现增删改查功能

    此处采用VS2017+SqlServer数据库 一.创建项目并引用dll: 1.创建一个MVC项目 2.采用Nuget安装EF6.1.3 二.创建Model 在models文件夹中,建立相应的mode ...

  3. IDEA搭建SSM实现登录、注册,数据增删改查功能

     本博文的源代码:百度云盘/java/java实例/SSM实例/SSM实现登录注册,增删改查/IDEA搭建SSM实现登录,注册,增删改查功能.zip 搭建空的Maven项目 使用Intellij id ...

  4. BootstrapTable与KnockoutJS相结合实现增删改查功能

    http://www.jb51.net/article/83910.htm KnockoutJS是一个JavaScript实现的MVVM框架.通过本文给大家介绍BootstrapTable与Knock ...

  5. springmvc+spring3+hibernate4框架简单整合,简单实现增删改查功能

    转自:https://blog.csdn.net/thinkingcao/article/details/52472252 C 所用到的jar包     数据库表 数据库表就不用教大家了,一张表,很简 ...

  6. JQuery Easyui/TopJUI 用JS创建数据表格并实现增删改查功能

    JQuery Easyui/TopJUI 用JS创建数据表格并实现增删改查功能 html <table id="productDg"></table> &l ...

  7. 使用Bootstrap模态框实现增删改查功能

    模态框(Modal)是覆盖在父窗体上的子窗体.通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动.子窗体可提供信息.交互等. 本文实现的是使用模态框实现简单的增删改查的功能. ...

  8. jQuery EasyUI/TopJUI实现数据表格的增删改查功能(不写js,纯HTML实现!!!)

    jQuery EasyUI/TopJUI实现数据表格的增删改查功能(不写js,纯HTML实现!!!) 废话不多说,直接贴上代码 <table id="configEdatagrid&q ...

  9. 3.创建Manager类,演示对TestUser进行增删改查功能

    接上一篇文章 创建NHibernateHelper帮助类,生成sessionFactory http://www.cnblogs.com/fzxiaoyi/p/8443587.html 创建个新的类M ...

随机推荐

  1. Dynamics 365 Customer Engagement导入解决方案时出错:Microsoft.Crm.CrmException: Plug-in assembly does not contain the required types or assembly content cannot be updated.

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  2. 数据库三,exec内置函数

    数据库三,exec内置函数 一.数据库查询与执行顺序 必备知识 查询语句的基本操作 - select - from - where - group by - having - distinct - o ...

  3. JavaScript-----13.内置对象 Math()和Date()

    1. 内置对象 js对象分为3种:自定义对象(var obj={}).内置对象.浏览器对象. 前两种对象是js基础内容,属于ECMAScript,第三个浏览器对象是js独有的.讲js API的时候会讲 ...

  4. 关于eclipse创建的[传统web项目][传统maven项目][maven-web项目][springboot项目]目录结构

    总体比较 [传统web项目] [传统maven项目] [maven-web项目] [springboot项目] 本文摘至https://blog.csdn.net/qq_42747738/articl ...

  5. 《DevOps实践:驭DevOps之力强化技术栈并优化IT运行》

    DevOps实践:驭DevOps之力强化技术栈并优化IT运行 主旨 这本书并非坐而论道,而是介绍了DevOps全流程中的许多实践,以及相应工具的运用.虽然随着时代的推移,工具将来可能会过时,但是这些实 ...

  6. 洛谷 UVA10226 Hardwood Species

    洛谷 UVA10226 Hardwood Species 洛谷评测传送门 题目描述 PDF 输入格式 输出格式 输入输出样例 输入 #1复制 输出 #1复制 题目翻译: 给定若干字符串,输出格式为:( ...

  7. C# 对 Excel 的相关操作

    C# 对Excel的操作 学习自: 教练辅导 C# 对Excel的读取操作 我们需要额外添加引用: References 搜索Excel 这样我们的基础就添加完成了. 并且在using 中添加: us ...

  8. 【SQL】多表查询中的 外连接 ,on,where

    先简单粗暴给个结论,多表连结查询中,on比where更早起作用,系统首先根据各个表之间的联接条件,把多个表合成一个临时表后,再由where进行匹配过滤,where后语句为真,则能查询出来,而通过外连接 ...

  9. EEPROM的概念接口类型及软件实例

    基本概念 EEPROM的全称是“电可擦除可编程只读存储器”,即Electrically Erasable Programmable Read-Only Memory.是相对于紫外擦除的rom来讲的.但 ...

  10. vue组件化思想和模块化

    组件化 注册组件的基本步骤 创建组件构造器 (调用Vue.extend()方法) 注册组件 (调用Vue.component()方法) 注册组件语法糖 省去了调用Vue.extend()的步骤,而是可 ...