精华内容
下载资源
问答
  • 作者简介 陈喆,现就职于中科院某研究所担任副研究员,专注于工业云平台、MES系统的设计与研发。 内容来源:... 基于函数名创建查询: public interface UserR...

    作者简介

    陈喆,现就职于中科院某研究所担任副研究员,专注于工业云平台、MES系统的设计与研发。

    内容来源:https://docs.spring.io/spring-data/jpa/docs/2.0.9.RELEASE/reference/html/#jpa.query-methods.query-creation

    基于函数名创建查询:

    public interface UserRepository extends Repository<User, Long> {
    
      List<User> findByEmailAddressAndLastname(String emailAddress, String lastname);
    }

    上例的函数将会翻译成查询语句:select u from User u where u.emailAddress = ?1 and u.lastname = ?2

    下表列出了JPA支持的关键字和对应的转换语句:

    Keyword Sample JPQL snippet

    And

    findByLastnameAndFirstname

    … where x.lastname = ?1 and x.firstname = ?2

    Or

    findByLastnameOrFirstname

    … where x.lastname = ?1 or x.firstname = ?2

    Is,Equals

    findByFirstname,findByFirstnameIs,findByFirstnameEquals

    … where x.firstname = ?1

    Between

    findByStartDateBetween

    … where x.startDate between ?1 and ?2

    LessThan

    findByAgeLessThan

    … where x.age < ?1

    LessThanEqual

    findByAgeLessThanEqual

    … where x.age <= ?1

    GreaterThan

    findByAgeGreaterThan

    … where x.age > ?1

    GreaterThanEqual

    findByAgeGreaterThanEqual

    … where x.age >= ?1

    After

    findByStartDateAfter

    … where x.startDate > ?1

    Before

    findByStartDateBefore

    … where x.startDate < ?1

    IsNull

    findByAgeIsNull

    … where x.age is null

    IsNotNull,NotNull

    findByAge(Is)NotNull

    … where x.age not null

    Like

    findByFirstnameLike

    … where x.firstname like ?1

    NotLike

    findByFirstnameNotLike

    … where x.firstname not like ?1

    StartingWith

    findByFirstnameStartingWith

    … where x.firstname like ?1 (parameter bound with appended %)

    EndingWith

    findByFirstnameEndingWith

    … where x.firstname like ?1 (parameter bound with prepended %)

    Containing

    findByFirstnameContaining

    … where x.firstname like ?1 (parameter bound wrapped in %)

    OrderBy

    findByAgeOrderByLastnameDesc

    … where x.age = ?1 order by x.lastname desc

    Not

    findByLastnameNot

    … where x.lastname <> ?1

    In

    findByAgeIn(Collection<Age> ages)

    … where x.age in ?1

    NotIn

    findByAgeNotIn(Collection<Age> ages)

    … where x.age not in ?1

    True

    findByActiveTrue()

    … where x.active = true

    False

    findByActiveFalse()

    … where x.active = false

    IgnoreCase

    findByFirstnameIgnoreCase

    … where UPPER(x.firstame) = UPPER(?1)

    In和NotIn可以使用任何Collection的子类作为参数。

     

    展开全文
  • <p>I had created custom testimonial by using post type. I want to create a JS testimonials slider on home page . I dont have an idea how to do it ..... <pre><code>add_action( 'init', 'testimonials_...
  • 如何在Android创建列表

    千次阅读 2011-01-21 14:54:00
    通过系统提供了ListActivity类,在Anroid下创建一个列表非常方便。 只需将数据绑定到该类,并在其暴露的用户事件处理接口中处理用户的选择即可。绑定的数据可以静态的数组数据(array)或者是通过查询返回的数据...

    通过系统提供了ListActivity类,在Anroid下创建一个列表非常方便。 只需将数据绑定到该类,并在其暴露的用户事件处理接口中处理用户的选择即可。

     

    绑定的数据可以静态的数组数据(array)或者是通过查询返回的数据(Cursor)。

    ListActivity自带了一个ListView,有缺省的layout格式,包括ListView的格式及每行的输出格式(screen layout, row layout),这些格式是可以定制的,简单起见,这里不讲如何定制该界面。

     

    1. 新建一个Android工程,我这里命名为TigerDemos.

     

     

    2. 修改程序TigerDemos.java如下

     

     

    3. SimpleAdapter使用说明

     

        使用该类可以方便的将静态数据绑定到列表中去,关键是要理解下面的构造函数中的几个参数。

     

       SimpleAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to)

     

    context

    要绑定的列表所在的context,即ListActivity

     

    data

    一个ListList中的每一个元素对应列表中的一行,每一行的数据则由List元素包含的数据(Map)提供,该Map包含显示在列表上数据及用户自定义数据,即可以是多个(Key,Value)对,这里要求Key必须为String类型,而且包含的数据中至少有在from参数中指定的数据,就像例子中的“title”,这个Key对应的Value(必须保证能正确的转化成字符串)用来显示在列表上。

     

    resource

    用来显示列表数据的Viewlayout资源ID,该layout中必须包含to参数中指定的view ID,用来格式化显示每一行数据。就像windows的列表每一列含有多个控件用来显示from指定的数据。

    例子中该值为android.R.layout.simple_list_item_1,显示一行数据,也可为android.R.layout.simple_list_item_2,可显示二行数据。这都是系统自带的layout

     

    from

    是个字符数组,用来指定Mapdata参数中)中哪些数据用来显示

     

    to

    显示数据的view ID,必须定义在resource中,其顺序与from参数对应。

     

    正确实列化SimpleAdapter后,只需简单调用setListAdapter(ListAdapter),即可将数据绑定到列表。

     

    4. 处理用户点击事件
     
       ListActivity类已经暴露了用户点击的事件处理函数接口,我们只需简单的重载它就可以了,即重载下面的函数:
     
       void onListItemClick(ListView l, View v, int position, long id);
      
       可以看得出Android列表,每一列不但可以显示多个数据,而且也可以包含多个用户数据,取决于应用的需求,Map中包含有任意数量的(Key,Value)对。
     
    5. 运行效果
    展开全文
  • 但是重新发明轮子相对容易,只要你保持小(这意味着你只能解决非常简单的查询).如果是这种情况,假设我们只需要内连接,它们都是一对多类型(实际上这不是严格的要求,正如我们将要看到的).我们可以建立一个DIY ORM(我怀疑...

    首先,也许您最好看一下可用于PHP / MySQL的几个ORM(对象关系管理)系统中的任何一个.

    但是重新发明轮子相对容易,只要你保持小(这意味着你只能解决非常简单的查询).

    如果是这种情况,假设我们只需要内连接,它们都是一对多类型(实际上这不是严格的要求,正如我们将要看到的).我们可以建立一个DIY ORM(我怀疑一个更恰当的名字就像’Diy Orm Cthulhu Fhtagn’)

    第一步是将此信息存储在某个位置,例如数组.所有可能的JOIN的一个条目.您还需要向系统描述您的表格.您还可以让系统查询MySQL以检索表和字段名称,可能偶尔会从生成PHP代码的单独实用程序中检索.

    // This just maps what fields are in what tables

    $tables = array(

    'contacts' => array(

    'first_name' => true /* or an array of information such as SQL type, etc. */

    );

    );

    // This maps all the JOINs

    $orm = array(

    'contacts' => array(

    'accounts' => array(

    'on' => array( 'account_id', 'account_id' ),

    'type' => 'LEFT JOIN', //

    )

    )

    );

    所以你从$selectFields列表开始.您将这些字段复制到$unresolvedFields,并开始一个接一个地检查它们.您的目标是解决所有字段.

    伪代码(实际上不是那么伪):

    while (!empty($unresolvedFields)) {

    $changes = false;

    // Try to resolve one of them.

    foreach ($unresolvedFields as $i => $field) {

    // Try to resolve it.

    list($tableName, $fieldName) = explode('.', $field);

    // Did we already select from this table?

    if (array_key_exists($tableName, $selectedTables)) {

    // Yes, so this field has been resolved for free.

    $changes = true;

    $resolvedFields[] = $field;

    array_push($selectedTables[$tableName], $fieldName);

    unset($unresolvedFields[$i];

    // On to the next field.

    continue;

    }

    // This is the first time we see this table.

    // Is this the VERY FIRST table (assume it's the "lead" table --

    // it's not necessary but it simplifies the code)?

    if (empty($selectedTables)) {

    // Yes. We need do no more.

    $selectedTables[$tableName] = array( $fieldName );

    $changes = true; //-//

    $resolvedFields[] = $field; //-//

    unset($unresolvedFields[$i]; //-//

    // On to the next field. //--//

    continue; //--//

    } // We could also put this check before the last. If we did, the

    // lines above marked //-// could be left out; those with //--// should.

    // And we would need $selectedTables[$tableName] = array(/*EMPTY*/);

    // We did not see this table before, and it's not the first.

    // So we need a way to join THIS table with SOME of those already used.

    // Again we suppose there're no ambiguities here. This table HAS a

    // link to some other. So we just need ask, "WHICH other? And do we have it?"

    $links = $orm[$tableName];

    $useful = array_intersect_keys($orm[$tableName], $selectedTables);

    // $useful contains an entry 'someTable' => ( 'on' => ... )

    // for each table that we can use to reference $tableName.

    // THERE MUST BE ONLY ONE, or there will be an ambiguity.

    // Of course most of the time we will find none.

    // And go on with the next field...

    if (empty($useful)) {

    continue;

    }

    // TODO: check count($useful) is really 1.

    $changes = true;

    $selectedTables[$tableName] = array( $fieldName );

    list($joinWith, $info) = each($useful[0]);

    // We write SQL directly in here. We actually shouldn't, but it's faster

    // to do it now instead of saving the necessary info.

    // $info could actually also contain the JOIN type, additional conditions...

    $joins[] = "INNER JOIN {$joinWith} ON ( {$tableName}.{$info['on'][0]}

    = {$joinWith}.{$info['on'][1]} )";

    unset($unresolvedFields[$i];

    }

    // If something changed, we need to repeat, because a later field could have

    // supplied some table that could have made joinable an earlier field which we

    // had given up on, before.

    if (!$changes) {

    // But if nothing has changed there's no purpose in continuing.

    // Either we resolved all the fields or we didn't.

    break;

    }

    }

    // Now, if there're still unresolved fields after the situation stabilized,

    // we can't make this query. Not enough information. Actually we COULD, but

    // it would spew off a Cartesian product of the groups of unjoined tables -

    // almost surely not what we wanted. So, unresolveds cause an error.

    if (!empty($unresolvedFields)) {

    throw new \Exception("SOL");

    }

    // Else we can build the query: the first table leads the SELECT and all the

    // others are joined.

    $query = "SELECT " . implode(', ', $selectedFields)

    . ' FROM ' . array_shift($selectedTables) . "\n";

    // Now for each $selectedTables remaining

    foreach ($selectedTables as $table) {

    $query .= $joins[$table] . "\n";

    // Now we could add any WHEREs, ORDER BY, LIMIT and so on.

    ...

    If a user picked Name, First Name, Last Name

    您还需要在人类可读的“Name”和“accounts.account_name”之间进行“翻译”.但是,一旦你这样做,上面的算法就会找到那些记录:

    Name ... fields = [ accounts.account_name ], tables = [ accounts ], joins = [ ]

    First Name ... fields = [ a.ac_name, co.first ], tables = [ ac, co ], joins = [ co ]

    Last Name ... contacts is already in tables, so fields = [ 3 fields ], rest unchanged

    展开全文
  • 分组查询 group by 子句 1.group by 子句 使用 group by 子句可以将数据划分到不同的...语法:group by 字段列表 [having 条件表达式 ] 2.创建分组 1.group by 子句通常与聚合函数同时使用,如 max()、min()、cou.

    分组查询 group by 子句

    1.group by 子句

    使用 group by 子句可以将数据划分到不同的组中,实现对记录的分组查询。group by 从英文字面的意义上可以理解为“根据(by)一定的规则进行分组(group)”,该子句的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对这若干个小区域进行统计汇总。

    语法:group by 字段列表 [having 条件表达式 ]

    2.创建分组 

    1.group by 子句通常与聚合函数同时使用,如 max()、min()、count()、sum() 和 avg()。

    示例:统计每一家公交公司的线路数和线路长度平均值、最大值和最小值,按线路数升序显示。

    分析:

    1. 依据线路所属公司分组统计线路相关数据。

    2. 线路数和线路里程的平均值、最小值和最大值均依据线路所属公司分组计算所得。

    3.函数 truncate(x,d) 用于返回 x 保留到小数点后 d 位的值。

    语句:select company 公司 , count(*) 线路数 , truncate(avg(miles),1) 平均线路里程 , max(miles) 最长线路里程 , min(miles) 最短线路里程 from line group by company order by count(*)

    结果:

     

    展开全文
  • 有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学...
  • ----------------------------------------------------- SQSERVER2000查询表结构简单型:Select * from Syscolumns Where ID=OBJECT_ID(NEbs_AdCustomer)列表型:sp_help 表详细型:SELECT 表名=case when a....
  • 根据当前温度创建播放列表建议。 商业规则 如果温度(摄氏)高于30度,则建议参加派对的曲目 如果温度在15到30度之间,建议使用流行音乐曲目 如果有点冷(介于10度和14度之间),请推荐摇滚音乐曲目 否则,如果外面...
  • 达梦数据库中如何创建用户

    千次阅读 2020-07-23 22:35:30
    达梦数据库中创建用户 没有授权文件的达梦数据库一般是开发板,通过查询VLICENSE视图可以看到。select∗fromvLICENSE视图可以看到。 select * from vLICENSE视图可以看到。select∗fromvlicense 功能快捷键 撤销:...
  • SharePoint 2013 列表多表联合查询

    千次阅读 2014-06-03 09:35:00
    在SharePoint的企业应用中,遇到复杂的... 下面,我们通过一个简单的例子,为大家演示一下如何使用SPQuery通过查阅项字段来进行两个列表的联合查询。  1、首先创建测试列表,City是城市,然后有一个列表叫做Addre
  • 使用AnyChart控件,可创建跨浏览器和跨平台的交互式图表和仪表。AnyChart 图表目前已被很多...本文介绍了如何创建数据集并对其执行操作。 班级 这是允许您使用AnyChart中的数据集的类的列表: 数据集-anychart.data.S
  • 有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学...
  • 本文主要是对如何使用命令操作MySQL索引,包括创建索引、重建索引、查询索引、删除索引的操作。以下所列示例中的 `table_name` 表示数据表名,`index_name` 表示索引名,column list 表示字段列表(如:`id`,`order_...
  • 一、如何创建数据库文件? 鼠标右击左边的数据库,点击弹出列表中的“新建项目”,再填写“数据库名称”,再按确定,创建完成后在左边找到你创建的数据库名称。 二、如何在数据库中创建 表? (1) 找到你创建的...
  • 有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学...
  • 开放了更多权限,可满足个性化和精细化的权限管理需求,例如可按用户分配不同表的查询权限。 可以断开任意账号的连接。 2、普通账号 :可以通过控制台、API或者SQL语句创建和管理。 一个实例可以创建最多200个普通...
  • mybatis中如何动态获取表名查询

    千次阅读 2020-04-16 14:48:29
    mybatis中如何动态获取表名查询如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能...
  • 创建列表存储数据,创建4个函数,分别实现压栈、出栈、查询以及判断函数调用的方法。 此程序需要注意的是堆栈的结构特点,先进后出,后进先出: 1.调用show_menu()函数后,利用while循环交互端输出提示,请用户...
  • 对于一些列表页面,保持一致的查询代码。 解决方案 1、依赖文件jquery.js、jquery.unobtrusive-ajax.js。 2、创建部分视图,PartialView主要存放服务器发送过来的数据。 3、一个包含集合数据的viewmodel. 部分视图...
  • 请问如何用python调用dbaccess连接informix数据库,把查询出来的结果放入到python创建列表
  • 如何手动创建NVivo主题节点?

    千次阅读 2020-01-02 16:10:07
    NVivo强大的搜索、查询和可视化工具使您可以深入地分析您的数据。点击下载最新版NVivo12 在开始编码之前,您可以在列表视图中设置节点结构-当您已经知道要探索的主题时,这将非常有用。您还可以在详细信息视图...
  • 上一篇文章提到了使用Client OM来查询SharePoint列表时需要两次指定结果集里包含的字段,范例是C#调用托管的Client OM,本文来介绍一下如何JavaScript来调用Client OM查询列表。 先创建几个全局变量: ...
  • 使用Mendix查询API构建可重用的微流操作 Mendix业务建模器支持两种查询语言来检索数据: Xpath是一种易于使用的查询语言 OQL与SQL类似,并提供更强大的报告功能 ... 创建每月第一个星期一列表–返回指定范围内每月
  • 上篇文章中,对表达式树的基础概念,基本用法进行了介绍,现在来进一步学习,使用表达式树创建动态查询。 一、应用场景 列表排序是最常见的功能之一,在列表字段很多的情况下,用户要求可以按任意列正序或倒序,...
  • 存在这样一种业务场景:获取某个供应商(ProviderID),状态为已售(State 为 1)的商品列表,排序方式为生产日期(ProduceTime)降序,有可能我们应用程序在显示数据的时候用到分页,这边我们查询前 100
  • 以下示例演示了如何使用 CAML 查询在上例中创建列表。该示例将输出我们的测试列表中的 Development 项。 C# using System; using Microsoft.SharePoint.Client; class Program { static void Main...
  • Hellos ModelHellos Model非常简单,我们需要的是从数据库返回hellos列表,这通过getData()...也许以后某个时候,我们在另一个方法中使用这个查询,因而我们创建了一个私有方法 _buildQuery() ,这个方法返回query,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,259
精华内容 503
关键字:

如何创建查询列表