java程序员 数据库_基层Java程序员需要具备什么级别的数据库知识?

不知道你所谓的“基层Java程序员”具体是负责什么工作的。

我一向觉得快速学习一门语言是程序员的基本能力,而sql是所谓的“第四代语言”“高阶语言”,语法细节比Java、C++一类的要小很多。所以最基础的sql知识就不需要再细说了,世界上所有用标准语法写出来的sql语句都应当能看懂,所有用标准语法能实现的需求都应当能写出sql。各数据库独有的sql方言,不必全知全会,但是也应该在能google的情况下,能看懂、能写通。

如果所谓的基层Java程序员包括干脏活、累活的打杂职责的话,项目涉及到的数据库产品的安装、配置也要基本掌握。比如Oracle的安装与卸载,怎样在局域网内使用,有很多暗坑,很多初学者都搞不明白。这些问题,起码要有一个基本的解决能力。

数据库基础理论要学一点,比如数据库范式,每种范式的定义、意义,这些在任何一本介绍数据库理论的书上都常见。在工程上更重要的是,怎样写算是违反了这个范式,违反了之后会有什么后果。这些都能了解后,才能具有基础的数据库设计能力,摆脱拿着数据库文档写无脑代码的境地。

在项目开发过程中,逐步积累一些数据库设计经验和思考。比如你们的项目采用的是逻辑主键还是物理主键,采用这种方案的初衷是什么,有什么优劣点。

以上内容都掌握后,单纯数据库的知识就基本具备了。

既然是Java程序员,那就还要明白Java是怎样操作数据库的。

JDBC在常见工程项目中很少直接使用了,不过作为原理,还是要搞明白。拿着JDBC裸写数据库操作代码的能力要有,connection、resultset、prepared statement等基本概念要了然于胸,任何一批数据库操作,在JDBC层面是怎样完成的,要能想得清楚。

至少掌握一种ORM框架,至少你们项目中用到的那种,官网文档要刷一遍,常见需求的解决方案要清晰。对其它ORM,保持快速学习的能力。

了解数据库事务、锁等等概念。既然是基层Java程序员,这些概念的细节应该是架构师封装好了的,在开发中不用过多操心,但作为晋升上一级职位的垫脚石,能说清这些概念,写几个简单的demo展示你的想法,项目中用法的实现原理,这些都要想明白。

具备了上面的知识,应该够一个“基层Java程序员”比较顺畅的开发了吧。

其实说到底,工作中需要什么知识,一般顺着工作内容去深化是最目标明确的做法。还能来知乎上提问,很有可能所谓的数据库知识对于你的项目来讲并不十分重要。既然如此,要么去换个项目中能遇得上的知识点去深入,要么自己去找点小项目做。没有动手以及随时而来的反馈的时候,很难说能对某种知识能扎实的了解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值