用户和订单的需求 通过查询订单,查询用户,就是一对一查询 (1)自定义JavaBean(常用,推荐使用) <select id="queryOrderUser" resultType="OrderUser"> SELECT o.id,o.user_id,u.name,o.productname FROM t_order o LEFT JOIN t_user u ON o.user_id= u.id </select> OrderUser.ja…
一个客户拥有多个订单 <resultMap type="User" id="UserOrderResultMap"> <id column="id" property="id"/> <result column="name" property="name"/> <!-- 如何体现出User中封装的订单呢?需要用到collection标签 --&g…
1.原始方法开发Dao Dao接口 package cn.sm1234.dao; import java.util.List; import cn.sm1234.domain.Customer; public interface CustomerDao { public void saveCustomer(Customer customer); public void updateCustomer(Customer customer); public void deleteCustomer(In…
1.if标签 <select id="queryByNameAndTelephone" parameterType="Customer" resultType="Customer"> SELECT * FROM t_customer WHERE 1=1 <if test="name!=null and name!=''"> AND NAME LIKE #{name} </if> <if…
输出映射(例如一个方法的返回至使用什么类型去接收) 1.基本类型 <!-- 统计记录数 --> <select id="queryTotalCount" resultType="long"> SELECT COUNT(*) FROM t_customer </select> public Long queryTotalCount(); /** * 输出映射 */ @Test public void test2() { SqlSes…
1.输入映射 输入映射支持的类型: 1) 基本的类型,int,String,double 等(*)2) JavaBean 类型(*)3) 包装JavaBean 类型(对象里面包含另一个对象) 1.1基本类型 <insert id="testParameterType" parameterType="String"> INSERT INTO t_customer(NAME) VALUES(#{name}) </insert> #{name}也可…
在IBatis.Net学习笔记五--常用的查询方式 中我提到了一些IBatis.Net中的查询,特别是配置文件的写法. 后来通过大家的讨论,特别是Anders Cui 的提醒,又发现了其他的多表查询的方式.在上一篇文章中我提到了三种方式,都是各有利弊:第一种方式当数据关联很多的情况下,实体类会很复杂:第二种方式比较灵活,但是不太符合OO的思想(不过,可以适当使用):第三种方式最主要的问题就是性能不太理想,配置比较麻烦. 下面是第四种多表查询的方式,相对第二种多了一点配置,但是其他方面都很好(当然…
目标:减少SQL查询数据,避免使用一条SQL语句解决复杂问题 反模式:视图使用一步操作,单个SQL语句解决复杂问题 使用一个查询来获得所有结果的最常见后果就是产生了一个笛卡尔积.导致查询性能降低. 如何识别反模式:当出现以下情况时,可能是反模式 1.为什么我的求和.技术返回的结果异常地大? 2.我一整天都在和整个变态的查询语句做斗争.SQL并不是那么的难写,如果你和单条SQL查询纠结了很长时间, 应该重新考虑实现方式. 3.试试再加一个Distinct去除重复数据. 合理使用反模式:…… 解决方…
数据库学习笔记3 基本的查询流 2   order by子句对查询结果集进行排序 多列和拼接 多列的方式就很简单了 select firstname,lastname from person.person order by lastname,firstname; 这句话表示根据lastname和firstname两列进行排序,并且是先按照lastname进行排序如果有相同的值就按照firstname进行排序. 拼接很有意思,可以写成这个样子 select lastname+','+firstna…
前言 "小步快跑.快速迭代"的开发大环境下,"一套代码.多端运行"是很多开发团队的梦想,美团也一样.他们做了很多跨平台开发框架的尝试:React Native.Weex.PWA 等等.但都没有得到很好的解决,直至遇到Flutter. Flutter 提供了一整套从底层渲染逻辑到上层开发语言的完整方案,有跨平台.高保真.高性能等优点.因此从发布开始,热度一路攀升,受到开发者们的热切青睐,也有了 阿里闲鱼.今日头条.腾讯 Now 等在内的一众知名商业案例. 我曾跟很多前…