数据库开发
#数据库连接池 ##建立连接 通过 conncetion = DrvierManager.getConnection() 获取数据库连接,这段代码通过对应的JDBC驱动,完成了客户端与服务器的大量交互。由于数据库连接经过4次,才能连接成功。则在复杂的网络环境下,建立数据连接的网络开销比较高。 ###MySQL获取数据库连接 1.请求建立连接 MySQL客户端向MySQL服务器发起请求建立连接 2.发送随机密码种子 服务器端会随机生成一组密码种子返回给客户端 3.发送加密密码 客户端利用密码种子和连接数据库的密码,按照约定的加密算法,可以计算得到加密的密码,然后在将这个密码发送到MySQL服务器端进行验证 4.连接建立成功 MySQL服务器经过对加密密码的验证,连接建立成功 ##多线程数据库访问 在实际业务场景中,多个用户访问Java应用程序,我们会启动线程去处理用户请求,如果要访问数据库,则我们需要创建connection对象,建立到后端数据库的物理连接,在SQL执行结束之后,随着close方法结束,数据库连接被销毁,线程也会被释放。 当用户再次访问时,会重复这个过程,这个过程花费大量的时间建立连接。 ##连接复用 由于建立连接需要花费大量时间,我们可以使用数据库连接池对连接进行重复使用。每个线程在使用数据库连接后并不是立即销毁。而是把数据库连接交给下一个需要访问数据库的线程