博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
复习Java第一个项目学生信息管理系统 03(model层Dao功能接口部分) &Java面试题序列化知识&生活【记录一个咸鱼大学生三个月的奋进生活】015
阅读量:2059 次
发布时间:2019-04-29

本文共 21557 字,大约阅读时间需要 71 分钟。

记录一个咸鱼大学生三个月的奋进生活015

复习Java(学生信息管理系统03model层Dao功能接口部分)

今天写model层里的Dao接口,里面声明该项目中会用到的通过SQL语句操作数据库的方法

MisUser的功能接口与实现类

model层的MisUser的权限管理dao的功能接口(MisUserDAO)

package com.sm.framework.model.dao.impl;// 该项目采取MVC分层编写,本类是model层的MisUser的权限管理dao的接口,里面声明该项目中会用到的所有跟该权限管理需求相关的操作数据库的方法// 该项目有 1.insertMisUser增加方法    2.deleteMisUser删除方法    3.updateMisUser修改方法    4.queryMisUser返回
的万能查找方法 5.queryMisUser返回MisUser对象的用ID查找的方法import java.util.List;import com.sm.framework.model.entity.MisUser;public interface MisUserDAO {
// dao接口的命名是:所操作的表名+DAO // 各方法实现的详细逻辑思路之后在Impl实现类中阐述 public boolean insertMisUser(MisUser misUser); // insertMisUser方法传入一个MisUser对象的实例进行新增 public boolean deleteMisUser(String userId); // deleteMisUser方法传入一个字符型管理员id进行删除 public boolean updateMisUser(MisUser misUser); // updateMisUser方法传入一个MisUser对象的实例根据其id进行修改 public List
queryMisUser(MisUser misUser); // queryMisUser方法传入一个MisUser对象的实例根据哪个属性有值根据哪个属性进行查找 public MisUser queryMisUser(String userId); // queryMisUser方法传入一个字符型管理员id进行查找返回查找到的类实例 }

model层的MisUser的权限管理接口的实现类(MisUserDAOImpl)

package com.sm.framework.model.dao.impl;// 该项目采取MVC分层编写,本类是model层的dao的接口的实现类DAOImpl,实现dao接口中的方法import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import com.sm.framework.model.entity.MisUser;import com.sm.framework.model.util.DBUtil;public class MisUserDAOImpl implements MisUserDAO {
@Override // insertMisUser增加方法的实现 public boolean insertMisUser(MisUser misUser) {
boolean flag = false; // 用MisUser实体类中的get方法获取传进来的MisUser实例的每个数据值 String userId = misUser.getUserId(); String userName = misUser.getUserName(); String userPass = misUser.getUserPass(); String roleId = misUser.getRoleId(); // 编写SQL语句新增数据 String sql = "insert into misUser(userId, userName, userPass, roleId)" + "values('" + userId + "', '" + userName + "', '" + userPass + "', '" + roleId + "')"; // 实例化DBUtil,使用里面的更新方法 DBUtil dbUtil = new DBUtil(); int n = dbUtil.update(sql); dbUtil.close(); if(n > 0) {
flag = true; } return flag; } @Override // deleteMisUser根据id进行删除的方法的实现 public boolean deleteMisUser(String userId) {
boolean flag = false; // 根据传进来的字符串id编写SQL语句删除 String sql = "delete from misUser where userId = '" + userId + "'"; // 实例化DBUtil,使用里面的更新方法 DBUtil dbUtil = new DBUtil(); int n = dbUtil.update(sql); dbUtil.close(); if(n > 0) {
flag = true; } return flag; } @Override // updateMisUser根据id进行修改其他数据的方法的实现 public boolean updateMisUser(MisUser misUser) {
boolean flag = false; // 用MisUser实体类中的get方法获取传进来的MisUser实例的每个数据值 String userId = misUser.getUserId(); String userName = misUser.getUserName(); String userPass = misUser.getUserPass(); String roleId = misUser.getRoleId(); // 编写SQL语句根据id进行其他数据的修改 String sql = "update misUser set userName = '" + userName + "', userPass = '" + userPass + "', roleId = '" + roleId + "'" ; // 实例化DBUtil,使用里面的更新方法 DBUtil dbUtil = new DBUtil(); int n = dbUtil.update(sql); dbUtil.close(); if(n > 0) {
flag = true; } return flag; } @Override // queryMisUser根据各种模糊数据进行查询的方法的实现 public List
queryMisUser(MisUser misUser) {
// 该方法返回的是一个List集合,所以先进行范型为students类的实例化 List
list = new ArrayList
(); // 然后用MisUser类中的get方法获取各调用时输入的对象set数据 String userId = misUser.getUserId(); String userName = misUser.getUserName(); String userPass = misUser.getUserPass(); String roleId = misUser.getRoleId(); // 运用拼接的方法编写SQL语句 String select = "select * from misUser"; // 最开头的查询语句select String where = " where 1=1"; // 这是判断条件where的语句,这里1=1的作用是这是一个恒成立的语句,所以无论如何都会成立,之后的所有语句都用and开头这样就不会出现第一个数据查找就以and开头的情况 // 接下来是根据各数据是否存在的情况来拼接查询条件 if(userId != null && userId.length() > 0) {
where = where + " and userId like '%" + userId + "%'"; } if(userName != null && userName.length() > 0) {
where = where + " and userName like '%" + userName + "%'"; } if(userPass != null && userPass.length() > 0) {
where = where + " and userPass like '%" + userPass + "%'"; } if(roleId != null && roleId.length() > 0) {
where = where + " and roleId like '%" + roleId + "%'"; } String sql = select + where; // 实例化DBUtil,使用里面的查询方法 DBUtil dbUtil = new DBUtil(); ResultSet rs = dbUtil.query(sql); try {
while(rs.next()) {
// 然后实例化MisUser,记住一定要在rs中实例化MisUser不然查出来的数据都会一样,用set方法将查出来的rs中各数据的值set给刚实例化的temp MisUser temp = new MisUser(); temp.setUserId(rs.getString("userId")); temp.setUserName(rs.getString("userName")); temp.setUserPass(rs.getString("userPass")); temp.setRoleId(rs.getString("roleId")); list.add(temp); } } catch (SQLException e) {
// TODO Auto-generated catch block e.printStackTrace(); } finally {
dbUtil.close(); } // 这里传出的是一个接口,调用方法的时候遍历temp输出 return list; } @Override // queryMisUser根据传进来的id进行查找,返回找到的类实例 public MisUser queryMisUser(String userId) {
MisUser misUser = null; DBUtil dbUtil = new DBUtil(); String sql = "SELECT * FROM misUser WHERE userId = '" + userId + "'"; ResultSet rs = dbUtil.query(sql); try {
while (rs.next()) {
misUser = new MisUser(); misUser.setUserId(rs.getString(1)); misUser.setUserName(rs.getString(2)); misUser.setUserPass(rs.getString(3)); misUser.setRoleId(rs.getString(4)); } } catch (SQLException e) {
// TODO Auto-generated catch block e.printStackTrace(); } return misUser; } }

MisUser的权限管理接口实现类的测试类(MisUserDAOImplTest)

还是那句话,写完功能尤其是实现接口了一定要测试一下,这是我给的测试例子,记住用的时候把备注下掉

package com.sm.framework.model.dao.impl;// 该项目采取MVC分层编写,本类是model层的dao测试类,测试接口中的方法是否都实现import java.util.List;import com.sm.framework.model.entity.MisUser;public class MisUserDAOImplTest {
public static void main(String[] args) {
// 测试insertMisUser添加方法// MisUser misuser = new MisUser("111", "111", "111", "111", "111", "111");// if(new MisUserDAOImpl().insertMisUser(misuser)) {
// System.out.println("添加成功!");// } // 测试deleteMisUser根据id删除方法// if(new MisUserDAOImpl().deleteMisUser("111")) {
// System.out.println("删除成功!");// } // 测试updateMisUser根据id修改其他数据的方法// MisUser misuser = new MisUser("admin", "admin", "admin", "admin", "admin", "admin1");// if(new MisUserDAOImpl().updateMisUser(misuser)) {
// System.out.println("修改成功!");// } // 测试queryMisUser根据id查询其他数据的方法// MisUser misuser = new MisUserDAOImpl().queryMisUser("admin");// System.out.println(misuser.toString()); // 测试queryMisUser万能查询的方法,该方法可以根据多个模糊的信息查找数据 MisUser misuser = new MisUser(); misuser.setUserName("yh"); MisUserDAO dao = new MisUserDAOImpl(); // 实例化MisUserDAO接口,使用里面的queryMisUser方法 List
list = dao.queryMisUser(misuser); for (MisUser temp : list) {
// (MisUser temp : list) 是遍历输出list中MisUser类的实例化对象temp的值 System.out.println(temp.toString()); } }}

students的功能接口与实现类

model层的students的学生信息管理dao的功能接口(MisUserDAO)

package com.sm.framework.model.dao.impl;// 该项目采取MVC分层编写,本类是model层的students的学生信息管理dao的接口,里面声明该项目中会用到的所有跟学生信息管理需求相关的操作数据库的方法// 该项目有 1.add增加方法    2.remove删除方法    3.modify修改方法   4.findById用ID查找的方法    5.findByLike万能查找的方法import java.util.List;import com.sm.framework.model.entity.students;public interface studentsDAO {
// dao接口的命名是:所操作的表名+DAO // 各方法实现的详细逻辑思路之后在Impl实现类中阐述 public boolean add(students students); // add方法传入一个students对象的实例进行新增 public boolean remove(String studentId); // remove方法传入一个字符型学生id进行删除 public boolean modify(students students); // modify方法传入一个students对象的实例根据其id进行修改 public students findById(String studentId); // findById方法传入一个字符型学生id进行查找 public List
findByLike(students students); // findByLike方法传入一个students对象的实例根据哪个属性有值根据哪个属性进行查找}

model层的students的学生信息管理接口的实现类(MisUserDAOImpl)

package com.sm.framework.model.dao.impl;// 该项目采取MVC分层编写,本类是model层的dao的接口的实现类DAOImpl,实现dao接口中的方法import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import com.sm.framework.model.entity.students;import com.sm.framework.model.util.DBUtil;public class studentsDAOImpl implements studentsDAO {
@Override // add增加方法的实现 public boolean add(students students) {
boolean flag = false; // 用students类中的get方法获取传进来的student实例的每个数据值 String studentId = students.getStudent_id(); String studentName = students.getStudent_name(); String studentYuan = students.getStudent_yuan(); String studentClass = students.getStudent_class(); String studentRoom = students.getStudent_room(); String studentSex = students.getStudent_sex(); String studentCitySheng = students.getStudent_citysheng(); String studentCityShi = students.getStudent_cityshi(); String studentPhone = students.getStudent_phone(); String studentHome = students.getStudent_home(); // 编写SQL语句新增数据 String sql = "insert into students(student_id, student_name, student_yuan, student_class, student_room, student_sex, student_citysheng, student_cityshi, student_phone, student_home)" + "values('" + studentId + "', '" + studentName + "', '" + studentYuan + "', '" + studentClass + "', '" + studentRoom + "', '" + studentSex + "', '" + studentCitySheng + "', '" + studentCityShi + "', '" + studentPhone + "', '" + studentHome + "')"; // 实例化DBUtil,使用里面的更新方法 DBUtil dbUtil = new DBUtil(); int n = dbUtil.update(sql); dbUtil.close(); if(n > 0) {
flag = true; } return flag; } @Override // remove根据id进行删除的方法的实现 public boolean remove(String studentId) {
boolean flag = false; // 根据传进来的字符串id编写SQL语句删除 String sql = "delete from students where student_id = '" + studentId + "'"; // 实例化DBUtil,使用里面的更新方法 DBUtil dbUtil = new DBUtil(); int n = dbUtil.update(sql); dbUtil.close(); if(n > 0) {
flag = true; } return flag; } @Override // modify根据id进行修改其他数据的方法的实现 public boolean modify(students students) {
boolean flag = false; // 用students类中的get方法获取传进来的student实例的每个数据值 String studentId = students.getStudent_id(); String studentName = students.getStudent_name(); String studentYuan = students.getStudent_yuan(); String studentClass = students.getStudent_class(); String studentRoom = students.getStudent_room(); String studentSex = students.getStudent_sex(); String studentCitySheng = students.getStudent_citysheng(); String studentCityShi = students.getStudent_cityshi(); String studentPhone = students.getStudent_phone(); String studentHome = students.getStudent_home(); // 编写SQL语句根据id进行其他数据的修改 String sql = "update students set student_name = '" + studentName + "', student_yuan = '" + studentYuan + "', student_class = '" + studentClass + "', student_room = '" + studentRoom + "', student_sex = '" + studentSex + "', student_citysheng = '" + studentCitySheng + "', student_cityshi = '" + studentCityShi + "', student_phone = '" + studentPhone + "', student_home = '" + studentHome + "' where student_id = '" + studentId + "'" ; // 实例化DBUtil,使用里面的更新方法 DBUtil dbUtil = new DBUtil(); int n = dbUtil.update(sql); dbUtil.close(); if(n > 0) {
flag = true; } return flag; } @Override // findById根据id进行查询其他数据的方法的实现 public students findById(String studentId) {
students student = null; // 编写SQL语句根据传进来的字符串id进行其他数据的查询 String sql = "select * from students where student_id = '" + studentId + "'"; // 实例化DBUtil,使用里面的查询方法 DBUtil dbUtil = new DBUtil(); ResultSet rs = dbUtil.query(sql); try {
while(rs.next()) {
// 然后实例化students,用set方法将查出来的rs中各数据的值set给刚实例化的student student = new students(); student.setStudent_id(rs.getString("student_id")); student.setStudent_name(rs.getString("student_name")); student.setStudent_yuan(rs.getString("student_yuan")); student.setStudent_class(rs.getString("student_class")); student.setStudent_room(rs.getString("student_room")); student.setStudent_sex(rs.getString("student_sex")); student.setStudent_citysheng(rs.getString("student_citysheng")); student.setStudent_cityshi(rs.getString("student_cityshi")); student.setStudent_phone(rs.getString("student_phone")); student.setStudent_home(rs.getString("student_home")); } } catch (SQLException e) {
// TODO Auto-generated catch block e.printStackTrace(); } finally {
dbUtil.close(); } // 这里传出的是一个实例化对象,之后调用方法的时候用toString()方法强转一下 return student; } @Override // findByLike根据各种模糊数据进行查询的方法的实现 public List
findByLike(students students) {
// 该方法返回的是一个List集合,所以先进行范型为students类的实例化 List
list = new ArrayList
(); // 然后用students类中的get方法获取各调用时输入的对象set数据 String studentId = students.getStudent_id(); String studentName = students.getStudent_name(); String studentYuan = students.getStudent_yuan(); String studentClass = students.getStudent_class(); String studentRoom = students.getStudent_room(); String studentSex = students.getStudent_sex(); String studentCitySheng = students.getStudent_citysheng(); String studentCityShi = students.getStudent_cityshi(); String studentPhone = students.getStudent_phone(); String studentHome = students.getStudent_home(); // 运用拼接的方法编写SQL语句 String select = "select * from students"; // 最开头的查询语句select String where = " where 1=1"; // 这是判断条件where的语句,这里1=1的作用是这是一个恒成立的语句,所以无论如何都会成立,之后的所有语句都用and开头这样就不会出现第一个数据查找就以and开头的情况 // 接下来是根据各数据是否存在的情况来拼接查询条件 if(studentId != null && studentId.length() > 0) {
where = where + " and student_id like '%" + studentId + "%'"; } if(studentName != null && studentName.length() > 0) {
where = where + " and student_name like '%" + studentName + "%'"; } if(studentYuan != null && studentYuan.length() > 0) {
where = where + " and student_yuan like '%" + studentYuan + "%'"; } if(studentClass != null && studentClass.length() > 0) {
where = where + " and student_class like '%" + studentClass + "%'"; } if(studentRoom != null && studentRoom.length() > 0) {
where = where + " and student_room like '%" + studentRoom + "%'"; } if(studentSex != null && studentSex.length() > 0) {
where = where + " and student_sex like '%" + studentSex + "%'"; } if(studentCitySheng != null && studentCitySheng.length() > 0) {
where = where + " and student_citySheng like '%" + studentCitySheng + "%'"; } if(studentCityShi != null && studentCityShi.length() > 0) {
where = where + " and student_cityShi like '%" + studentCityShi + "%'"; } if(studentPhone != null && studentPhone.length() > 0) {
where = where + " and student_phone like '%" + studentPhone + "%'"; } if(studentHome != null && studentHome.length() > 0) {
where = where + " and student_home like '%" + studentHome + "%'"; } String sql = select + where; // 实例化DBUtil,使用里面的查询方法 DBUtil dbUtil = new DBUtil(); ResultSet rs = dbUtil.query(sql); try {
while(rs.next()) {
// 然后实例化students,记住一定要在rs中实例化students不然查出来的数据都会一样,用set方法将查出来的rs中各数据的值set给刚实例化的temp students temp = new students(); temp.setStudent_id(rs.getString("student_id")); temp.setStudent_name(rs.getString("student_name")); temp.setStudent_yuan(rs.getString("student_yuan")); temp.setStudent_class(rs.getString("student_class")); temp.setStudent_room(rs.getString("student_room")); temp.setStudent_sex(rs.getString("student_sex")); temp.setStudent_citysheng(rs.getString("student_citysheng")); temp.setStudent_cityshi(rs.getString("student_cityshi")); temp.setStudent_phone(rs.getString("student_phone")); temp.setStudent_home(rs.getString("student_home")); list.add(temp); } } catch (SQLException e) {
// TODO Auto-generated catch block e.printStackTrace(); } finally {
dbUtil.close(); } // 这里传出的是一个接口,调用方法的时候遍历temp输出 return list; }}

students的学生信息管理接口实现类的测试类(MisUserDAOImplTest)

还是那句话,写完功能尤其是实现接口了一定要测试一下,这是我给的测试例子,记住用的时候把备注下掉

package com.sm.framework.model.dao.impl;// 该项目采取MVC分层编写,本类是model层的dao测试类,测试接口中的方法是否都实现import java.util.List;import com.sm.framework.model.entity.students;public class studentsDAOImplTest {
public static void main(String[] args) {
// 测试add添加方法// students student = new students("2507180201", "王未来", "信息工程学院", "软工1802", "2-159", "男", "广东省", "深圳市", "18791987706", "中心区最好的软件公司");// if(new studentsDAOImpl().add(student)) {
// System.out.println("添加成功!");// } // 测试remove根据id删除方法// if(new studentsDAOImpl().remove("2507180206")) {
// System.out.println("删除成功!");// } // 测试modify根据id修改其他数据的方法// students student = new students("2507180201", "王好未来", "信息工程学院", "软工1802", "2-159", "男", "广东省", "深圳市", "18791987706", "中心区最好的软件公司");// if(new studentsDAOImpl().modify(student)) {
// System.out.println("修改成功!");// } // 测试findById根据id查询其他数据的方法// students student = new studentsDAOImpl().findById("2507180201");// System.out.println(student.toString()); // 测试findByLike万能查询的方法,该方法可以根据多个模糊的信息查找数据 students student = new students(); student.setStudent_id("113"); studentsDAO dao = new studentsDAOImpl(); // 实例化studentDAO接口,使用里面的findByLike方法 List
list = dao.findByLike(student); for (students temp : list) {
// (students temp : list) 是遍历输出list中students类的实例化对象temp的值 System.out.println(temp.toString()); } }}

className的功能接口与实现类

model层的className的班级管理dao的功能接口(classNameDAO)

package com.sm.framework.model.dao.impl;import com.sm.framework.model.entity.className;//该项目采取MVC分层编写,本类是model层的className的班级管理dao的接口,里面声明该项目中会用到的所有跟操作班级相关的操作数据库的方法//该项目有 1.addClass增加方法    2.removeClass删除方法public interface classNameDAO {
public boolean addClass(className classObj); // insertMisUser方法传入一个MisUser对象的实例进行新增 public boolean removeClass(String studentclass); // deleteMisUser方法传入一个字符型管理员id进行删除 }

model层的className的班级管理接口的实现类(classNameDAOImpl)

package com.sm.framework.model.dao.impl;import com.sm.framework.model.entity.className;import com.sm.framework.model.util.DBUtil;public class classNameDAOImpl implements classNameDAO {
@Override public boolean addClass(className classObj) {
boolean flag = false; // 用MisUser实体类中的get方法获取传进来的MisUser实例的每个数据值 String studentclass = classObj.getStudent_class(); // 编写SQL语句新增数据 String sql = "insert into className(student_class) values('" + studentclass + "')"; // 实例化DBUtil,使用里面的更新方法 DBUtil dbUtil = new DBUtil(); int n = dbUtil.update(sql); dbUtil.close(); if(n > 0) {
flag = true; } return flag; } @Override public boolean removeClass(String studentclass) {
boolean flag = false; // 根据传进来的字符串班级名编写SQL语句删除 String sql = "delete from className where student_class = '" + studentclass + "'"; // 实例化DBUtil,使用里面的更新方法 DBUtil dbUtil = new DBUtil(); int n = dbUtil.update(sql); dbUtil.close(); if(n > 0) {
flag = true; } return flag; }}

model层的className的班级管理接口实现类的测试

这次我们通过数据库查询方式进行操作

MyMenu的功能接口与实现类

model层的MyMenu的菜单操作的功能接口,主要为了实现之后根据权限动态挂菜单的操作(MyMenuDAO)

package com.sm.framework.model.dao.impl;// 该项目采取MVC分层编写,本类是model层的MyMenu动态菜单的dao的接口,里面声明该项目中会用到的方法import java.util.List;import com.sm.framework.model.entity.MyMenu;public interface MyMenuDAO {
// dao接口的命名是:所操作的表名+DAO public List
findBySql(String sql); // 这是findBySql方法,在主页面中用来生成跟数据库连接的动态菜单,在主页面中会调用时给定一个sql查询语句 public MyMenu findByMenuId(String menuId); // findByMenuId方法传入menuId返回查到的MisFunction的集合}

model层的MyMenu的菜单操作接口的实现类(MyMenuDAOImpl)

package com.sm.framework.model.dao.impl;// 该项目采取MVC分层编写,本类是model层的dao的接口的实现类DAOImpl,实现dao接口中的方法import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import com.sm.framework.model.entity.MyMenu;import com.sm.framework.model.util.DBUtil;public class MyMenuDAOImpl implements MyMenuDAO {
@Override public List
findBySql(String sql) {
// 返回的是一个存有MyMenu对象的集合 List
list = new ArrayList
(); // 实例化存MyMenu对象的集合 DBUtil dbUtil = new DBUtil(); // 实例化DBUtil类使用其中的查询方法 ResultSet rs = dbUtil.query(sql); // 实例化rs用DBUtil的查询方法 try {
while(rs.next()) {
MyMenu temp = new MyMenu(); temp.setMenuId(rs.getString(1)); temp.setMenuName(rs.getString(2)); list.add(temp); // 将查到的对象依次放入集合中 } } catch (SQLException e) {
// TODO Auto-generated catch block e.printStackTrace(); } finally {
dbUtil.close(); } return list; } // findByMenuId方法,根据点击的功能的menuId进行查找细分操作 @Override public MyMenu findByMenuId(String menuId) {
MyMenu tempMenu = null; String sql = "select * from myMenu where menuId = '" + menuId + "'"; // 查询语句:select * from 表名 where 数据名 = '" + java中的变量名 + "' DBUtil dbUtil = new DBUtil(); // 实例化DBUtil进行操作 ResultSet rs = dbUtil.query(sql); // 调用DBUtil其中的查询query方法,将sql语句传入 try {
while(rs.next()) {
// 查到之后实例化存放的MisFunction对象然后将查到的数据set到tempFunction中,然后添加至list中 tempMenu = new MyMenu(); tempMenu.setMenuId(rs.getString(1)); tempMenu.setMenuName(rs.getString(2)); tempMenu.setfunctionClass(rs.getString(3)); } } catch (SQLException e) {
// TODO Auto-generated catch block e.printStackTrace(); } finally {
dbUtil.close(); } return tempMenu; }}

学习Java面试题(序列化相关知识)

健身

好久没发帖子了,把这几天的健身记录都补上

照片分享

作者:LYNN057   作品名:来自太空的祝福  出自500px社区

很久没更新了,不好意思大家,因为最近一直在忙互联网+省赛的路演和学生会换届的事,所以一直改ppt背稿子,一直改ppt背稿子,但是已经结束了,所以之后帖子也会恢复到原来的更新频率,而且做完第一次大项目之后我们会进行第一次简历的更新,这也是我在我的第一篇帖子中曾答应过大家的,敬请期待哦

2021.06.30  by wyh

转载地址:http://dnalf.baihongyu.com/

你可能感兴趣的文章
安装系统之五 U盘装原版XP教程
查看>>
安装系统之六 U盘装GHOST WIN7教程
查看>>
安装系统之八 U盘装GHOST WIN8教程
查看>>
安装系统之九 U盘装原版WIN8教程
查看>>
安装系统之三 U盘启动盘建立磁盘分区教程
查看>>
系统安装之十 U盘安装原版win10
查看>>
安装系统之十一 UEFI和Legacy及UEFI+Legacy启动的区别
查看>>
树莓派屏幕---------Android手机作为树莓派的屏幕
查看>>
嵌入式 知识点 积累 (一)
查看>>
嵌入式 知识积累 (二) 之 三个学习阶段
查看>>
嵌入式 知识积累(三) 之 基本技能
查看>>
嵌入式 知识积累(四) 之 硬件开发的基本过程
查看>>
嵌入式 知识积累(五)之硬件工程师具备基本技能
查看>>
中小型园区网络的设计与实现 (一)
查看>>
别人的难题,就是你的价值。
查看>>
中小型园区网络的设计与实现 (二)
查看>>
中小型园区网络的设计与实现 (三)
查看>>
VLAN与子网划分区别
查看>>
Cisco Packet Tracer教程
查看>>
01. 开篇:组建小型局域网
查看>>