按照自己的理解讲一讲什么是ORM,如果有理解不对的地方,欢迎大家留言指正。ORM定义官网定义:对象关系映射(Object Relational Mapping,简称ORM)。说白了,就是在编程过程中,把对象跟数据库中的表对应起来,把以前对数据库的操作(增删查改),都变为对对象的操作。
举个例子,有一个简单的需求,用户注册功能,前台输入用户姓名、性别,点击保存后,将数据保存到数据库中。没有ORM框架的时候,流程大概是这样的:1。后台拿到页面传递的参数:String name=request。getParameter(“name”);String gender=request。
getParameter(“gender”);2。调用service。insert(name,gender);3。再调用dao。insert(name,gender);4。DAO层自己拼写sql: insert into user values(name,gender);假如有二十个属性呢?一百个属性呢?有ORM框架的时候,流程大概是这样的:1。
后台拿到页面传递的参数:User user = request。getParameter(user); //name、gender会自动set进去,框架会做2。调用service。insert(user);3。再调用dao。insert(user);4。
ORM框架会自动的把dao。insert(user)翻译成SQL:insert into user values(name,gender);这时候增加几个属性,修改起来是不是稍微少了一些。ORM的优缺点1。提高开发效率,使开发更加对象化。2。
可移植,数据库类型换了都不害怕(不过如果有数据库方言的话,也需要做修改)。当然缺点也是有的:1。对象和数据库的映射需要消耗系统性能。2。多表联查,ORM的语法会变得复杂。希望我的回答可以帮助到你!。