用户和订单的需求 通过查询订单,查询用户,就是一对一查询 (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…
知识点十一:MySQL 慢查询的应用(23) 一.慢查询定义 MySQL记录下查询超过指定时间的语句,我们将超过指定时间的SQL语句查询称为慢查询. 查看时间限制 show variables like '%long%'; 如果查询超过long_query_time的时间就称为慢查询. 查看数据库的启动时间 show status like 'uptime%'; 查看查询语句条数 show status like 'comeSelect'; 获取连接数 show status like 'con…
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}也可…
前言 "小步快跑.快速迭代"的开发大环境下,"一套代码.多端运行"是很多开发团队的梦想,美团也一样.他们做了很多跨平台开发框架的尝试:React Native.Weex.PWA 等等.但都没有得到很好的解决,直至遇到Flutter. Flutter 提供了一整套从底层渲染逻辑到上层开发语言的完整方案,有跨平台.高保真.高性能等优点.因此从发布开始,热度一路攀升,受到开发者们的热切青睐,也有了 阿里闲鱼.今日头条.腾讯 Now 等在内的一众知名商业案例. 我曾跟很多前…
ROS进阶学习笔记(11)- Turtlebot Navigation and SLAM - 2 - MapModify地图修改 We can use gmapping model to generate the map file: **.pgm and **.amcl, the latter is just a refer to the **.pgm map file. Here I introduce how to use the image editor "" to modify…
MyBatis:学习笔记(4)——动态SQL 如果使用JDBC或者其他框架,很多时候需要你根据需求手动拼装SQL语句,这是一件非常麻烦的事情.MyBatis提供了对SQL语句动态的组装能力,而且他只有几个基本的元素,十分简单明了,即大量的判断都可以在MyBatis的映射XML文件里面配置,已达到我们需要大量代码才可以实现的功能. 动态SQL元素 IF元素 IF元素是我们最常用的判断语句,相当于Java中的IF语句.它常常与test属性联合使用. <select id="findOffice…
MyBatis 3 一.MyBatis简介 优秀的持久层框架,支持支持自定义 SQL.存储过程以及高级映射,专注于SQL的编写. ​ 为什么不使用工具类进行数据库操作: ​ 功能简单,sql语句编写在Java代码里面,是一种硬编码高耦合的方式,不推荐. Hibernate: ​ 另一种持久层框架,全自动全映射ORM(Object Relation Mapping)框架,旨在消除SQL. ​ 主要特点:一个JavaBean对象与数据库中一条记录建立映射,中间过程对于程序员来讲是黑箱操作,无须关注S…
一.模型分析 user和orders user---->orders 一个用户可以创建多个订单,一对多. orders--->user 一个订单只由一个用户创建,一对一.   orders和orderdetail orders--->orderdetail 一个订单可以包括多个订单明细,因为一个订单可以购买多个商品,每个商品的购买信息在orderdetail记录,一对多关系. orderdetail---> orders 一个订单明细只能包括在一个订单中,一对一.   orderd…
今天主要学习了数据库的多条件查询.attr和prop的区别和分页的实现 一.实现多条件查询 public List<Product> findProductListByCondition(Condition condition) throws SQLException { QueryRunner runner = new QueryRunner(DataSourceUtils.getDataSource()); //定义一个存储实际参数的容器 List<String> list =…
HQL连接查询 和SQL查询一样 hql也支持各种链接查询 如内连接 外连接 具体如下 左外连接 left (outer) join 迫切左外连接 left (outer) join fetch 右外连接 right (outer) join 内连接 (inner) join 迫切内连接 (inner) join fetch 那么今天举的例子仍然是学生Student和Grade 学生和年级的一对多的关系 一个学生属于一个年级 一个年级有多个学生 已经配置好了一对多双向关联 在此不做截图 因为不是…
本文将比较二种查询字符串在同一个oData查询方法中的不同,另外,还将介绍如何比较不同方法返回的GUID的值. 用同一个oData查询方法,如果传入查询的字符串不一样,返回结果的格式竟然完全不一样. 1. oData查询方法: //OData查询 ODataRetrieve: function (oDataString) { var retrieveReq = new XMLHttpRequest(); retrieveReq.open("GET", encodeURI(Xrm.Pag…
一.对象图导航查询 对象图导航查询方式是根据已经加载的对象,导航到他的关联对象.它利用类与类之间的关系来查询对象.比如要查找一个联系人对应的客户,就可以由联系人对象自动导航找到联系人所属的客户对象.当然,前提是必须在对象关系映射文件上配置了多对一的关系.其检索方式如下所示: LinkMan linkMan = session.get(LinkMan.class, 1l); Customer customer = linkMan.getCustomer(); 二.OID检索方式 OID检索方式主要…
学习笔记 第一章: 一.回顾数组 1.变量 : 只能存储一个数据 2.数组 :存储固定大小的相同类型的数据 3.对象 : 存储多个相同/不同类型的数据 4.集合 : 特殊的容器,存储N个相同/不同类型的数据 注意:容器中存储的数据是我们要即将处理的数据(内存) 课堂练习 -> 查看笔记 定义一个数组,初始化10个整数,计算最大值和总和! 二.System.Array类 -> 类库 Random -> 类,产生随机数 Array -> 类,对数组进行操作 注: 1)调用方法时,注意以…
子查询: 子查询,即嵌套在其他查询中的查询.例如我们有这样几个表,顾客表,订单表,商品表,我们想知道有哪些客户买了商品A,那么我们就需要先查看哪些订单里包含了商品A,然后根据订单查出是哪些客户. mysql> select cust_id from orders where order_num in (select order_num from orderitems where prod_id = '1'); +---------+ | cust_id | +---------+ |    10…
笔者才开始学习音视频开发,FFmpeg学习笔记系列主要是从慕课网李超老师的FFmpeg音视频核心技术精讲与实战课程学习的心得体会. FFmpeg音视频核心技术精讲与实战:https://coding.imooc.com/class/279.html 便于对FFmpeg记忆简单的将FFmpeg命令分为八大类 (1)基本信息查询命令            (2)录制命令 (3)分解/复用命令                   (4)处理原始数据命令 (5)裁剪与合并命令              …
mybatis有两级缓存机制,一级缓存默认开启,可以在手动关闭:二级缓存默认关闭,可以手动开启.一级缓存为线程内缓存,二级缓存为线程间缓存. 一提缓存,必是查询.缓存的作用就是查询快.写操作只能使得缓存失效,不管是一级缓存还是二级缓存,一旦发生写操作,缓存就要清空一次. 缓存是把双刃剑,用得好比较难,用不好就把自己伤着了. Perpetual这个单词,意为“永恒”.PerpetualCache表示永不过期的缓存.mybatis的两级缓存都是默认为PerpetualCahe,一级缓存的缓冲机制不能…
  一对多关系 项目中最常用到的就是一对多关系了.Code First对一对多关系也有着很好的支持.很多情况下我们都不需要特意的去配置,Code First就能通过一些引用属性.导航属性等检测到模型之间的关系,自动为我们生成外键.观察下面的类: public class Destination { public int DestinationId { get; set; } public string Name { get; set; } public string Country { get;…
一.MyBatis和jdbc的区别 jdbc的过程包括: 1.加载数据库驱动. 2.建立数据库连接. 3.编写sql语句. 4.获取Statement:(Statement.PrepareStatement.callableStatement). 5.执行executionQuery. 6.获取ResultSet结果集. 7.处理ResultSet结果集. 6.关闭资源:rs,Statement,conn. MyBatis工作流程 1.加载配置并初始化 触发条件:加载配置文件 配置来源于两个地方…
本书PDF 下载地址: http://pan.baidu.com/s/1c141KGS 密码:v6i1 注:本文有空会跟新: 讲述的是jdk7的内容: 注关于java 更详细的内容请进入:<Java 8编程官方参考教程(第9版).pdf>学习笔记 进行学习 第1章Java简介 1:为什么使用Java 1:java 诞生时C++太费电脑资源,不方便嵌入式移植 2:java 编写一次到处运行 2:什么是Java java 是一门编程语言,移除了内存管理.安全性这类复杂的特性,转而将这些任务交给了虚…
  一对多关系 项目中最常用到的就是一对多关系了.Code First对一对多关系也有着很好的支持.很多情况下我们都不需要特意的去配置,Code First就能通过一些引用属性.导航属性等检测到模型之间的关系,自动为我们生成外键.观察下面的类: public class Destination { public int DestinationId { get; set; } public string Name { get; set; } public string Country { get;…
高级查询 分组查询 select * from student [where ] [having ] --二次限定 [order by] --asc升序 desc降序 默认升序 查看EMPLOYEE表中,员工在同一部门做相同工作且总工资大于5000,平均工资小于1500的薪水情况和人数? select deptno,job,count(*) from employee group by deptno,job having avg(sal)<1500 and sum(sal) >5000 ord…
回到目录 对于MongoDB这个非关系型数据库(NoSql)来说,找一个IDE工具不是很容易,还好被我找到了,它就是大名鼎鼎的MongoVUE,它可以对mongodb数据表进行增删改查,下面我主要说一下它的查询功能,它与传统的SQLSERVER不同,在写语句时我们需要了解一下它自己的一些关键字.…
1.条件运算符 2.$all 匹配所有 3.$exists 判断字段是否存在 4.NUll 值处理 5.$mod 取模处理 6.$ne 不等于 7. $in 包含,与sql用法相同 8. $nin 不包含,与sql用法相同 9.$size 数组个数 10.正则表达式 11.$where 查询 12.javascript 查询 13.Count.skip. limit 14.sort 排序 15.游标 16.存储过程 javascript 写法…
where条件表达式 --统计函数 Select count(1) from student; --like模糊查询 --统计班上姓张的人数 select count(*) from student where realName like '张%'; --统计班上张姓两个字的人数 select count(*) from student where realName like '张_'; --统计班上杭州籍的学生人数 select count(*) from student where home…
一.分组 建表及数据填充语句下载:链接: https://pan.baidu.com/s/1WHYafwqKJEKq1kDwCH_Zlg 提取码: 3wy4 1.1初识分组 分组是按照某一列,将该列中相同多个相同的数据作为一组,整体分成若干组. 例如有如下表: 例如将vend_id作为依据分组,则会分成三组. 所有vend_id = DLL01为一组,所有vend_id = BRS01为一组. 所有vend_id = FNG01为一组. 现在我们有这样一个需求,计算每一个每一个供应商有多少商品.…
连接查询含义:又称多表查询,当查询的字段来自多个表时,就会用到连接查询 笛卡尔乘积现象:表1 有 m 行,表2 有 n 行,结果 = m*n 行发生原因:没有有效的连接条件如何避免:添加有效的连接条件 分类:按年代分类:           sql192 标准:仅支持内连接           sql199 标准:支持内连接+外连接(左外.右外)+交叉连接 按功能分类:           内连接:                      等值连接                      非…