实现DAO方法的增删改查

本人是初学者,不知道DAO方法的增删改查怎么写,求大神指导一下,建了个表,通过eclipse实现表中的增删改查,求大神们帮忙

2个回答

首先得连接数据库
是吧
连接数据库后好对表进行操作

写DAO ,写几个方法,增删改查,以增为例
表为 用户吧 user,有字段 name password age gender 等
add(User user){

}
增就相当于注册功能是吧,其他的就是换换 sql 数据库语句,比如删除 delete 关键字,改 update ,查 select * from tablename where 条件
你看看里面的注册功能的实现

建议你先学一下 jdbc 操作数据库吧 。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
c++链接数据库实现增删改查

不用文件实现增删改查,直接操作数据库。刚入程序这一行,什么都不太懂,听同学介绍这个网站,所以就过来问问,求帮助,,没有悬赏

#做一个简单的学生信息管理系统,实现增删改查的功能

还是新手小白,项目代码报错不会改,请求大佬的帮助 做一个简单的学生信息管理系统,实现增删改查的功能 # StudentDao package com.hdxy.Dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import com.hdxy.Student.Student; public class StudentDao { //初始化Connection,Statement,ResultSet Connection conn = null; Statement st = null; ResultSet rs = null; //查询 public List<Student> testQuery(){ //查询表中所有学生,用集合来接收 List<Student> list = new ArrayList<Student>(); String sql ="select * from student order by id asc"; Connection conn = JDBCUtil.getInstance().getConnection();//获取连接 try { st = conn.createStatement();//预处理,创建集合接收数据 rs = st.executeQuery(sql);//结果集,创建集合接收数据 //循环遍历 while(rs.next()){ Student student = new Student();//实例化Student对象,要求要有Student对象 student.setId(rs.getInt("id"));//对象.方法或对象.属性。setI()想让id在前台显示打包赋值给student对象,getInt()获取学生信息 student.setName(rs.getString("name")); student.setSno(rs.getString("sno")); student.setSex(rs.getString("sex")); student.setAge(rs.getString("age")); list.add(student);//将student对象的数据传到list里 } }catch (Exception e){ e.printStackTrace(); } JDBCUtil.getInstance().closeConnection(rs,st,conn);//关闭,没有学生了就停止循环遍历 return list;//返回值类型return,返回list }//testQuery结束后拿到了所有学生的属性值 //添加数据 public void saveStudent(Student student){ //?:表示占位符.所谓占位符就是不知道要传递什么值,但是必须要有值 String sql = "insert into student(sno,name,sex,age) values(?,?,?,?)"; conn = JDBCUtil.getInstance().getConnection(); try { PreparedStatement pst = conn.prepareStatement(sql); pst.setString(1, student.getSno()); pst.setString(2, student.getName()); pst.setString(3, student.getSex()); pst.setString(4, student.getAge()); pst.execute(); } catch (SQLException e) { e.printStackTrace(); } JDBCUtil.getInstance().closeConnection(rs,st,conn); } public Student getStudent(int id){ Student stu = new Student(); String sql = "select id,sno,name,sex,age from student where id=?"; Connection conn = JDBCUtil.getInstance().getConnection();//获取连接 try { PreparedStatement st = conn.prepareStatement(sql); st.setInt(1, id); rs = st.executeQuery(); while(rs.next()){ stu.setId(rs.getInt("id")); stu.setSno(rs.getString("sno")); stu.setName(rs.getString("name")); stu.setSex(rs.getString("sex")); stu.setAge(rs.getString("age")); } } catch (SQLException e) { e.printStackTrace(); } JDBCUtil.getInstance().closeConnection(rs,st,conn); return stu; } //更改数据 public void updateStudent(Student student){ String sql = "update student set sno=?,name=?,sex=?,age=? where id=?"; Connection conn = JDBCUtil.getInstance().getConnection();//获取连接 try { PreparedStatement st = conn.prepareStatement(sql); st.setString(1, student.getSno()); st.setString(2, student.getName()); st.setString(3, student.getSex()); st.setString(4, student.getAge()); st.setInt(5, student.getId()); st.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } JDBCUtil.getInstance().closeConnection(rs,st,conn); } //删除数据 public void deleteStudent(int id){ String sql = "delete from student where id=?"; Connection conn = JDBCUtil.getInstance().getConnection();//获取连接 try { PreparedStatement st = conn.prepareStatement(sql); st.setInt(1, id); st.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } JDBCUtil.getInstance().closeConnection(rs,st,conn); } } # JDBC的工具类 package com.hdxy.Dao; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import com.mysql.jdbc.Connection; //JDBC的工具类 public class JDBCUtil { //一.初始化数据库相关信息对象 static String driverClass="com.mysql.jdbc.Driver"; static String url="jdbc:mysql://localhost:3306/student?characterEncoding=utf-8";; static String name="root"; static String password="root"; static Connection conn = null; private static JDBCUtil instance = null; private JDBCUtil(){ } public static JDBCUtil getInstance(){ if(instance == null){ synchronized (JDBCUtil.class) { if(instance == null){ instance = new JDBCUtil(); } } } return instance; } //二.读取jdbc.properties文件并把相关信息赋予对象 static{ try{ String driver = null; Class.forName(driver); }catch(ClassNotFoundException e){ e.printStackTrace(); } } //三.获取连接对象 public Connection getConnection(){ try{ conn= (Connection) DriverManager.getConnection(url,name,password); }catch (Exception e) { e.printStackTrace(); } return conn; } public void closeConnection(ResultSet rs, Statement st, java.sql.Connection conn) { try { if(rs != null){ rs.close(); } } catch (SQLException e) { e.printStackTrace(); } finally{ try{ if(st != null){ st.close(); } }catch(Exception e){ e.printStackTrace(); }finally{ try{ if(conn != null){ conn.close(); } }catch(Exception e){ e.printStackTrace(); } } } } } # 服务类 package com.hdxy.Service; import java.util.List; import com.hdxy.Dao.StudentDao; import com.hdxy.Student.Student; //服务类 public class StudentService { public List<Student> testQuery(){ StudentDao studentDao = new StudentDao();//获取StudentDao实现类 List<Student> list = studentDao.testQuery(); return list;//返回值类型return,返回list } public void saveStudent(Student student){ StudentDao studentDao = new StudentDao(); studentDao.saveStudent(student); } public Student getStudent(int id){ StudentDao studentDao = new StudentDao(); return studentDao.getStudent(id); } public void deleteStudent(int id){ StudentDao studentDao = new StudentDao(); studentDao.deleteStudent(id); } public void updateStudent(Student student){ StudentDao studentDao = new StudentDao(); studentDao.updateStudent(student); } } # 实体类 package com.hdxy.Student; public class Student { private int id; private String sno; private String name; private String sex; private String age; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getSno() { return sno; } public void setSno(String sno) { this.sno = sno; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public Student(int id, String sno, String name, String sex, String age) { super(); this.id = id; this.sno = sno; this.name = name; this.sex = sex; this.age = age; } public Student() { } @Override public String toString() { return "Student [id=" + id + ", sno=" + sno + ", name=" + name + ", sex=" + sex + ", age=" + age + "]"; } } # Servlet package com.hdxy.Servlet; import java.io.IOException; import java.util.List; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.hdxy.Student.Student; import com.hdxy.Service.StudentService; public class StudentServlet extends HttpServlet { /** * */ private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setContentType("text/html; charset=UTF-8"); String method = request.getParameter("method"); if("testQuery".equals(method)){ testQuery(request,response); System.out.println("888"); }else if("toAdd".equals(method)){ toAdd(request,response); }else if("toEdit".equals(method)){ toEdit(request,response); }else if("saveStudent".equals(method)){ saveStudent(request,response); }else if("updateStudent".equals(method)){ updateStudent(request,response); }else if("deleteStudent".equals(method)){ deleteStudent(request,response); } System.out.println("777"); } private void testQuery(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{ StudentService studentService = new StudentService(); List<Student> list = studentService.testQuery(); request.setAttribute("testQuery", list); RequestDispatcher dispatcher = request.getRequestDispatcher("/list.jsp"); dispatcher.forward(request, response); System.out.println("111"); } private void toAdd(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{ RequestDispatcher dispatcher = request.getRequestDispatcher("/add.jsp"); dispatcher.forward(request, response); System.out.println("222"); } private void toEdit(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{ int id = Integer.parseInt(request.getParameter("id")); StudentService studentService = new StudentService(); Student student = studentService.getStudent(id); request.setAttribute("student", student); RequestDispatcher dispatcher = request.getRequestDispatcher("/edit.jsp"); dispatcher.forward(request, response); System.out.println("333"); } private void saveStudent(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{ Student student = new Student(); student.setSno(request.getParameter("sno")); student.setName(request.getParameter("name")); student.setSex(request.getParameter("sex")); student.setAge(request.getParameter("age")); StudentService studentService = new StudentService(); studentService.saveStudent(student); RequestDispatcher dispatcher = request.getRequestDispatcher("/index.jsp"); dispatcher.forward(request, response); System.out.println("444"); } private void updateStudent(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{ Student student = new Student(); student.setSno(request.getParameter("sno")); student.setName(request.getParameter("name")); student.setSex(request.getParameter("sex")); student.setId(Integer.parseInt(request.getParameter("id"))); student.setAge(request.getParameter("age")); StudentService studentService = new StudentService(); studentService.updateStudent(student); RequestDispatcher dispatcher = request.getRequestDispatcher("/index.jsp"); dispatcher.forward(request, response); System.out.println("555"); } private void deleteStudent(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{ int id = Integer.parseInt(request.getParameter("id")); StudentService studentService = new StudentService(); studentService.deleteStudent(id); RequestDispatcher dispatcher = request.getRequestDispatcher("/index.jsp"); dispatcher.forward(request, response); System.out.println("666"); } }

数据库增删改查的代码,有吗

用SSH框架如何增删改查数据库的一张学生表,求代码!我已经写到了dao层的实现类。

mybits对中间表增删改查问题

大概是这样子的,我想对中间表一个操作。有三张表,一张用户表和部门表和中间表是他们ID对应关系,然后我就想对中间表添加ID关系。类似增删改查,来是实现部门下的用户,和用户属于哪个部门。

java类里写好数据库的增删改查方法 jsp页面中如何调用

比如数据库表中有一值为0 现从jsp页面中显示该值并修改为1

jsp增删改查怎么写?怎么与actiong,dao结合?ssh框架 求大神指导!跪求~

``` <%@page contentType="text/html; charset=UTF-8" import="java.util.*" %> <%@ taglib prefix="s" uri="/struts-tags" %> <html> <head> <jsp:include page='/res/inc/inc.jsp' flush='true'/> </head> <body> <s:form action="Add" id="form1" theme="simple" > <div class="buttonDiv"> <s:submit theme="simple" name="Add" value="添加" cssClass="button_style" /> </div> <div class="validatemsg"> <s:actionerror/> <s:fielderror/> <s:actionmessage/> </div> <div class=neibiao_top>发文 </div> <TABLE class="TableStyle" > <TR> <TH width="5%"> 序号</TH> <TH>主题</TH> <TH>分类ID</TH> <TH width="6%">编辑</TH> </TR> <s:iterator value="faWenList" status="st" var="cil"> <TR> <TD class="tdStyle" align="center"><s:property value='#st.index+1'/></TD> <TD class="tdStyle"><s:property value="zhuTi"/></TD> <TD class="tdStyle"><s:property value="fenLeiID"/></TD> <TD class="tdStyle" align="center"><a href='<s:url action="Edit"><s:param name="id" value="id"></s:param></s:url>'>编辑</a></TD> </TR> </s:iterator> </TABLE> </s:form> </body> </html> ```

java web 项目,DAO层应该如何设计

公司的项目基本上一个domain就对应一个dao接口和一个实现daoImpl,可是我想了好一阵子都没想出这有什么好,我的想法是:domain继承于EntityBase,然后用一个dao,方法是通用增删改查方法和执行原生SQL语句的方法以及调用存储过程的方法等,参数用泛型<T extneds EntityBase>,复杂的业务全部定义在service中,在service中组合dao里面的方法,就不用给每一个domain定义dao实现了,求过来人指点下

如何用C#连接Oracle进行数据库操作

拜托各位大神帮我写一个代码,就是用VS2013中的asp.net空网站来连接Oracle数据库,制作最简单的增删改查操作的网站应用程序。全局数据库名称是orcl,用户名为c##scott,密码是tiger。用户登录表为users,学员信息表为student,包含的列名为(id,name,sex,age,email)。真心求助,包括web.config文件的配置,及各个页面.cs文件的写法,万谢!

mybatis生成的DAO MAPPER 实体类 没有查询全部 添加什么才能出来查询全部

package com.bestteam.base.dao; import com.bestteam.base.entity.User; public interface UserMapper { int deleteByPrimaryKey(String id); int insert(User record); int insertSelective(User record); User selectByPrimaryKey(String id); int updateByPrimaryKeySelective(User record); int updateByPrimaryKeyWithBLOBs(User record); int updateByPrimaryKey(User record); }

DAO模式 面向对象问题

大概了解了一下DAO模式,感觉用起来有点不顺手。 比如我有2个实体:student,teacher 那么teacherDAO里就只能增删改查teacher表,要获取某个老师下的student信息只能去studentDAO里查询(查询条件为teacher), 这样功能上都能实现,但是用起来怪怪的,感觉每个实体都没有当前实例一样, 个人倾向于teacher类里有getAllStudent()这样的方法来获取当前teacher实例下的所有student,但是DAO模式中没有找到哪一层能放这样的方法, 该怎么做?

java的业务层基类代码能写除了保存查询外的其他业务逻辑吗?

比如我希望在基类中写一个传入值然后赋值给bean并保存,比如saveStatus(BaseBean baseBean,String status,String remark),然后用baseBean.setstatus(status)跟baseBean.remark(remark)保存传值,然后调用dao保存到数据库,但是因为dao的保存是通过泛型传入的,所以无法识别BaseBean类,比如在basedao里定义了一个抽象getBasedao的方法,各子类实现他,然后保存是用类似传入的getBasedao.insert(T)这样的方法。不知道怎么设计才能实现这样的功能?因为每个service子类都有这样的方法,唯一不同的不过是传入的bean和用到的dao,如何能抽取出这个方法到父类中呢?是不是service的基类只能做bean的直接增删查改而没法做更多的业务逻辑?

我用的是spring mvc+mybatis,问一下service层应该都需要写什么

我想问一下service层,dao层,control层都应该写什么? 我们项目经理说 service层只要写一个dao引用,service和表是一一对应的, 我觉得service既然是业务层是不是所有业务相关的都要写? 比如学生,班级,成绩三个表 我们现在是对应学生表有一个增删改查的dao和service, 对应班级表有一个增删改查的dao和service, 对应成绩表有一个增删改查的dao和service, 如果查询及格的学生的班级和姓名 是不是要在学生control里调用成绩和班级的service? 还是在学生service实现类里调用成绩和班级的service来获得结果呢? 真不知道代码规范是什么。求有经验的大神详细讲解一下谢谢了

SSM框架,所有的controller都调用同一个service会不会出问题?

SSM框架,为了方便把所有的service抽取到一个公共的service,包括service的实现,Dao,Dao的实现。所有的增删改查,分页等方法全在里面。通过方法参数区分mapper,查询字段都是通过参数动态设置的。用了几个月暂时没出现大问题,我想问下,这种方式最终会不会出现某些问题?之前是一个 controller对应一个service对应一个(或多个)Dao,现在我弄的是多个controller对应一个service对应一个Dao。

spring @Autowired service dao装配顺序?

代码结构如下: @Controller public class MyController{ @Autowired private MyService service; } @Service public class MyService{ @Autowired private MyFirstDao myFirstDao; public void check(Integer id) { //调用baseDao中基本的查询entity的方法 myFirstDao.find(id);//此处myFirstDao==null 为什么?? } } @Repository public class MyFirstDao extends BaseDao<FirstEntity>{//FirstEntity extends BaseEntity } @Repository public class MySecondDao extends BaseDao<SecondEntity>{//SecondEntity extends BaseEntity } public class BaseDao<T extends BaseEntity>{ //实现基本的增删改查 public void find(){} public void del(){} public void add(){} } 按照我的理解,在初始化controller时会自动注入service(即完成service的初始化并获一个实例对象),同时因为service中有用@Autowired标注MyFirstDao ,因此会同时给serivce注入myFirstDao才对,为什么myFirstDao没注入成功呢?获取到的dao为null。 此种场景下,要调用基本的baseDao中的查询方法应该如何解决呢? 注: 其他xml中的配置都没问题。 急求解答。初学者对spring机制不是特别熟悉。

maven多WEB项目 框架是SSH

我的需求是这样的,maven项目,我自己写了一些基础的action、service、dao层的各个公共方法。 这些方法是通用的API实现,所以我想把他们打包成jar包供另外的SSH项目引用。 我用maven install 打包成的jar包添加的maven库,另外一个项目引用了,但是访问action 层的时候会报action找不到,页面抛异常。 我哪里出了问题呢? 我的目的很简单就是写了SSH的一些基础API,把他们打个jar包供给另外SSH项目使用。 希望有大神们给个解决方法或者建议。

关于代码如何组织的疑惑

刚入行,接触的项目不多,第一次接触的一个SSH项目是这样分层的 抽象一个Dao接口,这个接口包含对象基本增删改查,然后提供一个Dao实现(比如叫Support),至此Dao层结束,然后业务层接口继承Dao接口,业务层继承Support。然后每一个模块一个Action.这样做一个好处就是直接通用一个Dao,不用每个业务类都写一个Dao。但坏处就是因为涉及到泛型,每个个数据表都要对应一个业务对象。如果数据库中有很多的表,就会有很多业务接口业务实现。 具体结构看贴图: 另一个SSH项目是这样分的: 每个模块各一个增删改查Dao加Dao实现,Dao之前互相交错。 问题:个人觉得这两种设计都不好,那么该如何设计,还有,这两个项目中的业务层代码跟Dao层代码感觉都差不多,比如有一个业务层的代码是这样的: public void deleteIp(Filterip ip){ deleteDao.deleteIp(ip); } public void deleteDev(Devinfo devinfo){ deleteDao.deleteDev(devinfo); } public void deleteBackup(Backup bp){ deleteDao.deleteBackup(bp); } public void deleteDevdetail(Devdetail devdetail){ deleteDao.deleteDevdetail(devdetail); } 那这样分逻辑层有什么意义呢,然后最繁重的是action,判断都写在Action方法里面,导致一个方法少则一百多行,多则几百行,一个类上千行。

Mybatis不能重用sql问题

今天该了一天的代码,都快该哭了,因为什么都没改出来,网上有一个很好的例子,说是可以通过拦截器实现通用DAO接口,结果代码不全,最终不得不放弃。 其实我就是觉得Mybaties不如hibernate方便,sql不能重复使用,只能给一个类使用,然而大部分工作都是增删改查这些重复性的工作,可是每增加一个类,就要重新写一遍相似的代码,这样是不是很费劲啊??我都快疯了。。。不知道哪位大神有没有好的方法,最好是能实现的,源码最好。

新人关于DAO的一些疑问

package com.huake.dao.impl; import java.util.List; import javax.annotation.Resource; import org.springframework.orm.hibernate3.HibernateTemplate; import org.springframework.stereotype.Component; import com.huake.dao.UserDao; import com.huake.model.User; @Component("userDao") public class UserDaoImpl implements UserDao { @Resource private HibernateTemplate us; public void add(User user) { us.save(user); } public List<User> queryUser(String username, String password) { List<User> users = us.find("from User u where u.username = '" + username + "' and u.password = '" + password + "'"); return users; } } 新手在自学SSH有很多不明白的地方,想问一下 public List<User> queryUser(String username, String password) { List<User> users = us.find("from User u where u.username = '" + username + "' and u.password = '" + password + "'"); 这段话具体执行了什么操作 是向hibernatetemplate对象保存了要使用的对象过后就可以对其进行增删改查吗? 具体是怎么实现的?能不能稍微详细点解释一下。。谢谢了

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

Intellij IDEA 实用插件安利

1. 前言从2020 年 JVM 生态报告解读 可以看出Intellij IDEA 目前已经稳坐 Java IDE 头把交椅。而且统计得出付费用户已经超过了八成(国外统计)。IDEA 的...

搜狗输入法也在挑战国人的智商!

故事总是一个接着一个到来...上周写完《鲁大师已经彻底沦为一款垃圾流氓软件!》这篇文章之后,鲁大师的市场工作人员就找到了我,希望把这篇文章删除掉。经过一番沟通我先把这篇文章从公号中删除了...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

魂迁光刻,梦绕芯片,中芯国际终获ASML大型光刻机

据羊城晚报报道,近日中芯国际从荷兰进口的一台大型光刻机,顺利通过深圳出口加工区场站两道闸口进入厂区,中芯国际发表公告称该光刻机并非此前盛传的EUV光刻机,主要用于企业复工复产后的生产线扩容。 我们知道EUV主要用于7nm及以下制程的芯片制造,光刻机作为集成电路制造中最关键的设备,对芯片制作工艺有着决定性的影响,被誉为“超精密制造技术皇冠上的明珠”,根据之前中芯国际的公报,目...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

百度工程师,获利10万,判刑3年!

所有一夜暴富的方法都写在刑法中,但总有人心存侥幸。这些年互联网犯罪高发,一些工程师高技术犯罪更是引发关注。这两天,一个百度运维工程师的案例传遍朋友圈。1...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《Oracle Java SE编程自学与面试指南》最佳学习路线图2020年最新版(进大厂必备)

正确选择比瞎努力更重要!

字节跳动面试官竟然问了我JDBC?

轻松等回家通知

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

实时更新:计算机编程语言排行榜—TIOBE世界编程语言排行榜(2020年6月份最新版)

内容导航: 1、TIOBE排行榜 2、总榜(2020年6月份) 3、本月前三名 3.1、C 3.2、Java 3.3、Python 4、学习路线图 5、参考地址 1、TIOBE排行榜 TIOBE排行榜是根据全世界互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎(如Google、Bing、Yahoo!)以及Wikipedia、Amazon、YouTube统计出排名数据。

阿里面试官让我用Zk(Zookeeper)实现分布式锁

他可能没想到,我当场手写出来了

立即提问
相关内容推荐