MyBatis之Collection MyBatis+Hibernate+JDBC对比分
Collection翻译过来,意为"集合"的意思,既然是集合,肯定是代表多个。 MyBatis以其自身,小巧易懂,闻名于JavaEE。 传统的JDBC就不说了,Hibernate记得是曾经的持久层框架霸主,记得早在几年前的时候,SSH(Spring+Struts2+Hibernate)是业界中应用最广的。 Hibernate与MyBatis的区别就不多说了,我的相关文章比如ssm框架整合+Ajax异步验证已经说过了,说过不想再重复。 关于JDBC+Hibernate+MyBatis的区别可以参考我的这篇博文MyBatis+Hibernate+JDBC对比分析 mybatis的一对一和一对多以及多对多,一对一倒不常用,一对多和多对多就比较常用了。 <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.entity.FinanceOrder"> id column="order_no" property="orderNo" /> result ="user_id"="userId" ="order_type"="orderType" ="pay_type"="payType" ="total_amount"="totalAmount" ="order_status"="orderStatus" ="subject"="subject" ="create_time"="createTime" ="amount_type"="amountType" ="account_coupon_id"="accountCouponId" ="finish_time"="finishTime" ="trade_status"="tradeStatus" ="invoice"="invoice" ="wx_transaction_id"="wxTransactionId" ="use_points"="usePoints" ="points_amount"="pointsAmount" ="balance_amount"="balanceAmount" ="wx_amount"="wxAmount" ="pwd"="pwd" ="remarks"="remarks" /> collection property="orderResources" ofType="OrderResources"> ="resource_id"="resourceId" </collection> ="orderGuest"="OrderGuest"> ="name"="name" > resultMap> 获取当天订单信息 select ="getTodayOrderInfo" resultMap="BaseResultMap"> SELECT order.order_status,order.create_time,order.finish_time,order.total_amount,order.remarks,rms_order_resources.resource_id,rms_order_guest.name FROM rms_finance_order AS `order` LEFT JOIN rms_order_resources ON(order.order_no=rms_order_resources.order_no) LEFT JOIN rms_order_guest ON(order.order_no=rms_order_guest.order_no) WHERE order.company_code=#{companyCode} select> 这个例子可以说是一对多,也可以说是多对多,这并不重要,重要的是你要知道参数的含义。还有就是每当要将sql写入mybatis对应的配置文件时,必须要在mysql相关的客户端或者命令行执行一遍,确认没有问题了,再放入xml配置文件中,这样可以避免很多不必要的错误。 有一点补充说明下: ?
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |