hibernate与mybatis异同与比较(涵盖网上各个版本,清晰明了)

本文对比分析了Mybatis和Hibernate在jar包需求、映射关系、配置文件、基本用法、Spring整合以及注解支持方面的差异。Mybatis轻量级,更注重SQL的自由度,而Hibernate提供完整的对象关系映射,自动化程度高。两者各有优势,适用于不同的项目需求。
摘要由CSDN通过智能技术生成

一、序言

       最近一直用mybatis做开发,以前用过hibernate,能感受到一些它们在使用上的区别,不过总想抽出时间来好好比较比较弄弄清楚它们各自的优劣,以便更好进行选择和深入的了解。

       网上也看了很多资料,结合自己的使用体会,粗率地概括和总结了一下,以供大家参考。

二、具体运用上的不同

1、所需的jar包

Mybatis:只需要3个(mybatis-3.1.1.jar,mybatis-3.1.1-javadoc.jar,mybatis-3.1.1-sources.jar)      

Hibernate:根据功能不同大概需要十几个

2、映射关系

 Mybatis:实体类与sql之间的映射

Hibernate:实体类与数据库之间隐射

3、配置文件

Student:

属性:int  id,String name,String password;

方法配置:

 getStudentByName   //通过name查找

getStudentById       //通过id查找

insertStudent        //添加Student 

updateStudent        //更改Student

deleteStudent        //通过id删除Student

deleteStudentById   //通过name伤处Student

selectStudentmohu   //通过name模糊查询

Mybatis:

总配置文件:mybatisConfig.xml

<configuration>

<typeAliases>

<typeAlias alias="Student" type="com.niit.model.Student"/>

</typeAliases>

<environments default="development">

<environment id="development">

<transactionManager type="JDBC"/>

<dataSource type="POOLED">

<property name="driver" value="com.mysql.jdbc.Driver"/>

<property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis"/>

<property name="username" value="root"/>

<property name="password" value="root"/>

</dataSource>

</environment>

</environments>

<mappers>

<mapper resource="com/niit/model/StudentMap.xml"/>

</mappers>

</configuration>

 

实体类映射文件:StudentMap.xml(一个或多个)

<mapper namespace="com.niit.model.StudentMap">

<select id="getStudentByName" resultType="Student"

parameterType="string">

select * from student where name=#{name}

</select>

 

<select id="getStudentById" resultType="Student" parameterType="int">

select * from student where id=#{id}

</select>

 

<insert id="insertStudent" parameterType="Student">

insert into student(id, name, password) value(#{id}, #{name}, #{password})

</insert>

 

<update id="updateStudent" parameterType="Student">

update student set name=#{name}, password=#{password} where id=#{id}

</update>

 

  • 10
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值