mysql面试之ORM


先回顾下之前操作数据库的方式,用的是jdbc连接数据库,(操作java代码来操作数据库)jdbc就是一个接口,用它可以来访问数据库,操作数据库。

jbbc操作mysql数据库步骤:

因为用statement有sql注入的危险,后来使用的是preparedStatement。详情自行复习。

jdbc如果有大量的连接怎么办,每次连接都要向数据库要求一个connection,这样会造成数据库的很多系统资源,甚至会导致系统崩溃,后来就有了连接池来解决这个问题。

数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。和线程池差不多。连接池分很多种,经常用的是阿里的德鲁伊连接池。

就算如此,jdbc使用起来还是挺麻烦的,有大量的硬编码,缺乏灵活性,后来就有了mybatis…也叫ibatis…

mybatis是一个半自动的ORM框架,ORM的意思是对象关系映射,就是object relational mapping。写个bean,来对应数据库中的每个字段,写个bean类的接口,在mapper.xml中进行操作写sql。这就是ORM思想了,操作对象也就操作了数据库。