`
oyhf521
  • 浏览: 41547 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Hibernate 查询语言

    博客分类:
  • J2EE
阅读更多
Hibernate 查询语言(HQL)
       Hibernate拥有一种功能非常强大的查询语言,这种语言被有意得与SQL非常相似,便于开发人员掌握。但不要被HQL的语法表面所迷惑,HQL完全是面向对象的,可以用来过程多态、继承、关联等关系。
10.1大小写敏感(Case Sensitivity
    HQL中的使用的Java的类名和属性名是大小写敏感的,其他的关键字都是大小写不敏感的。所以“SeLeCT”等同与“sELEct”,也等同于“SELECT”,因为它不是Java类名,也不是Java类的属性名。但Javanet.sf.hibernate.eg.FOO不等同于net.sf.hibernate.eg.Foo,同样foo.barSet也不等同于foo.BARSET
 
    在本手册中,HQL中的关键字均采用小写,一些用户可能发现HQL的关键字采用大写更易读,但我们也发现,当把这些HQL嵌入Java代码中,看起来很丑陋。
 
10.2from从句(The from clause
Hibernate中最简单的from查询可能是:
 
from eg.Cat
 
只是简单的返回eg.Cat类的所有实例。
 
在很多时候你可能需要为类设置别名(alias),因为你可能需要在查询的其他部分引用Cat
 
from eg.Cat as cat
 
关键字as是可选的,我们也可以写成:
 
from eg.Cat cat
 
可以出现多个类,然后返回一个“笛卡儿积”或交叉连接:
 
from Formula as form, Parameter as param
 
HQL中的别名用小写字母是一个好习惯,符合Java本地变量的命名规范。
 
10.3关联和连接(Associations and joins
       我们使用别名关联实体、甚至用join来关联值的集合的元素。
 
from eg.Cat as cat
 
    inner join cat.mate as mate
 
    left outer join cat.kittens as kitten
 
 
 
from eg.Cat as cat left join cat.mate.kittens as kittens
 
 
 
from Formula form full join form.parameter param
 
支持的连接类型借鉴自ANSI SQL
 
·                                 inner join
 
·                                 left outer join
 
·                                 right outer join
 
·                                 full join (不常用)
 
inner join, left outer joinright outer join可以简写。
 
from eg.Cat as cat
 
    join cat.mate as mate
 
    left join cat.kittens as kitten
 
另外,一个“fetch”连接允许使用单连接来关联或值的集合,使它们可以和父对象一起来初始化。这在使用Collection的情况下特别有用。
 
from eg.Cat as cat
 
    inner join fetch cat.mate
 
    left join fetch cat.kittens
 
    fetch join通常不需要设置别名,因为被关联的对象不应该被用在where从句中,也不能用在其他的任何从句中。
 
    被关联的对象不能直接在查询结果中返回,他们可以通过父对象来访问。
 
请注意:在目前的实现中,在查询中只能返回一个集合。另外还要注意,fetch可能不用在被scroll()iterator()调用的查询中。最后还要注意,full join fetchright join fetch是没有意义的。
 
10.4 select从句(The select clause
select从句用来挑选在结果集中返回的对象和属性:
 
select cat.mate from eg.Cat cat
 
上面这个查询返回所有猫的配偶。
 
你也可以使用elements函数返回集合的元素。下面的查询将返回任何猫(Cat)的所有小猫(Kitten)。
 
select elements(cat.kittens) from eg.Cat cat
 
查询也可以返回任何值类型(包括Component类型的属性)的属性:
 
select cat.name from eg.DomesticCat cat
 
where cat.name like 'fri%'
 
select cust.name.firstName from Customer as cust
 
查询可以返回多个对象,也可以返回作为Object[]类型的数组的属性。
 
select mother, offspr, mate.name
 
from eg.DomesticCat as mother
 
    inner join mother.mate as mate
 
    left outer join mother.kittens as offspr
 
或者作为一个实际的Java对象:
 
select new Family(mother, mate, offspr)
 
from eg.DomesticCat as mother
 
    join mother.mate as mate
 
    left join mother.kittens as offspr
 
上面的这个查询语句假设Family类有适当的构造函数。
 
10.5 聚集函数(Aggregate functions
查询可以使用属性的聚集函数:
 
select avg(cat.weight), sum(cat.weight), max(cat.weight), count(cat) from eg.Cat cat
 
select从句的聚集函数中可以出现集合:
 
select cat, count( elements(cat.kittens) ) from eg.Cat cat group by cat
 
支持的聚集函数有:
 
·                                 avg(...), sum(...), min(...), max(...)
 
·                                 count(*)
 
·                                 count(...), count(distinct ...), count(all...)
 
distinct all关键字的意义与用法和SQL中相同:
 
select distinct cat.name from eg.Cat cat
 
 
 
select count(distinct cat.name), count(cat) from eg.Cat cat
 
 
 
10.6 多态(polymorphism
       一个查询:from eg.Cat as cat,它返回的不只是Cat,也有DomesticCat(家猫)这样的子类。Hibernate可以在from从句中指定任何Java类和接口,查询将返回继承自该类和实现了该接口的所有的持久类的实例。下面的查询将返回所有持久的对象:
 
from java.lang.Object o
 
       指定的接口可以被多个不同的持久类实现:
 
from eg.Named n, eg.Named m where n.name = m.name
 
注意最后2个查询将需要超过1SQLselect,这意味着不能够按照从句指定的排列次序排列整个结果集。这也意味着你不能用Query.scroll()来调用这些查询。
 
10.7 where从句(The where clause
       where从句是你可以按照自己指定的条件更精确的返回实例:
 
from eg.Cat as cat where cat.name='Fritz'
 
复合表达式使where从句功能非常强大:
 
from eg.Cat as cat where cat.name='Fritz' 
 
这个查询将被翻译成带有一个连接的SQL查询语句。
 
       如果你写下这句查询:
 
       from eg.Foo foo where foo.bar.baz.customer.address.city is not null
 
这个查询翻译成SQL语句需要4个表连接。
 
       =”操作符不仅可以比较属性,也可以比较实例:
 
from eg.Cat cat, eg.Cat rival where cat.mate = rival.mate
 
 
 
select cat, mate from eg.Cat cat, eg.Cat mate where cat.mate = mate
 
 
 
一个叫id的特殊的属性被用来引用一个对象的唯一标识符,你也可以用对象的属性名。
 
from eg.Cat as cat where cat.id = 123
 
 
 
from eg.Cat as cat where cat.mate.id = 69 这个查询要比上一个有效率,因为不需要表连接。
 
可以使用复合主键的属性。假设person有一个由medicareNumbercountry构成的符合主键:
 
from bank.Person person
 
where person.id.country = 'AU'
 
    and person.id.medicareNumber = 123456
 
 
 
from bank.Account account
 
where account.owner.id.country = 'AU'
 
    and account.owner.id.medicareNumber = 123456
 
再重复一次,第二个查询效率高些。
 
 
 
同样,一个指定了属性的类在多态持久(polymorphic persistence)的情况下访问实体的discriminator value
 
一个被嵌入到where从句中的Java类名将被翻译成它的discriminator value
 
from eg.Cat cat where cat.class = eg.DomesticCat
 
你也可以指定组件(component)的属性和用户自己定义的合成类型(及组件的组件等等)。
 
永远也不要使用一个以组件的属性结尾的路径表达式。举个例子,假设store.owner是一个带有一个叫address组件的实体:
 
store.owner.address.city    //正确
 
store.owner.address        //错误!
 
一个叫“any”的类型有2个特别的属性,一个是id,另一个是class,它允许我们用下面的办法进行连接(join)。AuditLog.item是一个用<any>映射的属性:
 
from eg.AuditLog log, eg.Payment payment
 
where log.item.class = 'eg.Payment' and log.item.id = payment.id
 
需要注意的是:查询中的log.item.classpayment.class将参考完全不同的数据库列。
 
10.8 表达式(Expressions
       where从句中的表达式允许你使用SQL中的很多东西:
 
·                                 数学运算符: +, -, *, /
 
·                                 二元比较运算符: =, >=, <=, <>, !=, like
 
·                                 逻辑操作符: and, or, not
 
·                                 字符串连接符: ||
 
·                                 SQL函数,如: upper() and lower()
 
·                                 圆括号: ( ) 
 
·                                 in, between, is null
 
·                                 JDBC输入参数: ?
 
·                                 指定的参数::name, :start_date, :x1
 
·                                 inbetween
 
from eg.DomesticCat cat where cat.name between 'A' and 'B'
 
 
 
from eg.DomesticCat cat where cat.name in ( 'Foo', 'Bar', 'Baz' )
 
和否定形式的(negated forms):
 
from eg.DomesticCat cat where cat.name not between 'A' and 'B'
 
 
 
from eg.DomesticCat cat where cat.name not in ( 'Foo', 'Bar', 'Baz' )
 
·                                 is nullis not null
 
·                                 也可以使用特殊的属性sizesize()函数来测试集合的大小:
 
from eg.Cat cat where cat.kittens.size > 0
 
 
 
from eg.Cat cat where size(cat.kittens) > 0
 
·                                 对于有索引的集合,你可以使用特殊属性minIndexmaxIndex来引用最小索引和最大索引。同样,你也可以使用minElementmaxElement来引用基本类型的集合的minimummaximum元素。
 
from Calendar cal where cal.holidays.maxElement > current date
 
也可以是函数的形式:
 
from Order order where maxindex(order.items) > 100
 
 
 
from Order order where minelement(order.items) > 10000
 
在传递索引和元素给集合时(elements and indices函数)和传递子查询的结果集时,SQL函数any, some, all, exists, in都是被支持的:
 
select mother from eg.Cat as mother, eg.Cat as kit
 
where kit in elements(foo.kittens)
 
 
 
select p from eg.NameList list, eg.Person p
 
where p.name = some elements(list.names)
 
 
 
from eg.Cat cat where exists elements(cat.kittens)
 
 
 
from eg.Player p where 3 > all elements(p.scores)
 
 
 
from eg.Show show where 'fizard' in indices(show.acts)
 
 
 
请注意:size, elements, indices, minIndex, maxIndex, minElement, maxElement在使用时有一些限制:
 
v      where从句中的in只用于数据库的子查询。
 
v      select从句中的in只用于elements indices函数。
 
v      带有索引的元素的collectionarrays, lists, maps)只能在where从句中通过索引引用:
 
from Order order where order.items[0].id = 1234
 
 
 
select person from Person person, Calendar calendar
 
where calendar.holidays['national day'] = person.birthDay
 
    and person.nationality.calendar = calendar
 
 
 
select item from Item item, Order order
 
where order.items[ order.deliveredItemIndices[0] ] = item and order.id = 11
 
 
 
select item from Item item, Order order
 
where order.items[ maxindex(order.items) ] = item and order.id = 11
 
表达式中的[]的内部可以是一个算术表达式:
 
select item from Item item, Order order
 
where order.items[ size(order.items) - 1 ] = item
 
HQLone-to-many关联和值的集合提供了内置的index()函数:
 
select item, index(item) from Order order
 
    join order.items item
 
where index(item) < 5
 
被一些特定数据库支持的SQL函数可以被使用:
 
from eg.DomesticCat cat where upper(cat.name) like 'FRI%'
 
如果你还不相信上面的一切,那么想想更长的和更短的可读的查询吧:
 
select cust
from Product prod,
    Store store
    inner join store.customers cust
where prod.name = 'widget'
    and store.location.name in ( 'Melbourne', 'Sydney' )
    and prod = all elements(cust.currentOrder.lineItems)
提示:something like
 
SELECT cust.name, cust.address, cust.phone, cust.id, cust.current_order
FROM customers cust,
    stores store,
    locations loc,
    store_customers sc,
    product prod
WHERE prod.name = 'widget'
    AND store.loc_id = loc.id
    AND loc.name IN ( 'Melbourne', 'Sydney' )
    AND sc.store_id = store.id
    AND sc.cust_id = cust.id
    AND prod.id = ALL(
        SELECT item.prod_id
        FROM line_items item, orders o
        WHERE item.order_id = o.id
AND cust.current_order = o.id
 
 
10.9 order by从句(The order by clause
查询返回的列表可以使用组件或类的任意属性排序:
 
from eg.DomesticCat cat
 
order by cat.name asc, cat.weight desc, cat.birthdate
 
关键字ascdesc是可选的,分别决定是按升序还是降序排列结果。
 
10.10 group by从句(The group by clause
       查询返回的聚集可以按照指定的类或组件的任意属性进行分组:
 
select cat.color, sum(cat.weight), count(cat)
 
from eg.Cat cat
 
group by cat.color
 
 
 
select foo.id, avg( elements(foo.names) ), max( indices(foo.names) )
 
from eg.Foo foo
 
group by foo.id
 
注意:你可以在select从句中使用elementsindices结构,即使数据库中没有子查询。
 
    Having从句也允许使用:
 
select cat.color, sum(cat.weight), count(cat)
 
from eg.Cat cat
 
group by cat.color
 
having cat.color in (eg.Color.TABBY, eg.Color.BLACK)
 
如果你的数据库支持,则你可以在havingorder by从句中使用SQL函数(ieMySQL中不支持):
 
select cat from eg.Cat cat join cat.kittens kitten
 
group by cat having avg(kitten.weight) > 100
 
order by count(kitten) asc, sum(kitten.weight) desc
 
注意:group by clause nor the order by都不支持算术表达式。
 
 
 
10.11 子查询(Subqueries
       Hibernate支持子查询,子查询必须用圆括号包围。子查询通常被SQL聚集函数调用。子查询中引用一个外部查询的别名也是被允许的。
 
from eg.Cat as fatcat
 
where fatcat.weight > (
 
    select avg(cat.weight) from eg.DomesticCat cat
 
)
 
 
 
from eg.DomesticCat as cat
 
where cat.name = some (
 
    select name.nickName from eg.Name as name
 
)
 
 
 
from eg.Cat as cat
 
where not exists (
 
    from eg.Cat as mate where mate.mate = cat
 
)
 
 
 
from eg.DomesticCat as cat
 
where cat.name not in (
 
    select name.nickName from eg.Name as name
 
       )
 
10.12 例子(Examples
       Hibernate的查询功能相当强大,而且复杂。事实上,功能强大的查询语言是Hibernate的主要的卖点(selling points。原来这是一个外来词呀,今天才知道。^_^)。
 
       下面是一些简单的查询例子,这是从我最近的项目中挑出来的,在大多数情况下,你写的查询要比这些更简单。
 
       下面这个查询使用到的表:order, order_line, product, catalog price。有4个内连接和一个没有关系(uncorrelated)的子查询。
 
select order.id, sum(price.amount), count(item)
from Order as order
    join order.lineItems as item
    join item.product as product,
    Catalog as catalog
    join catalog.prices as price
where order.paid = false
    and order.customer = :customer
    and price.product = product
    and catalog.effectiveDate < sysdate
    and catalog.effectiveDate >= all (
        select cat.effectiveDate
        from Catalog as cat
        where cat.effectiveDate < sysdate
    )
group by order
having sum(price.amount) > :minAmount
order by sum(price.amount) desc
简直是怪物!(What a monster!)。现实生活中(in real life),我们对子查询并不是很关心,我们大多数的查询更像下面这样:
 
select order.id, sum(price.amount), count(item)
from Order as order
    join order.lineItems as item
    join item.product as product,
    Catalog as catalog
    join catalog.prices as price
where order.paid = false
    and order.customer = :customer
    and price.product = product
    and catalog = :currentCatalog
group by order
having sum(price.amount) > :minAmount
order by sum(price.amount) desc
下面这个查询翻译成SQL将需要2个内连接和一个相关联的子查询。它用到的表:payment, payment_status payment_status_change
 
select count(payment), status.name
from Payment as payment
    join payment.currentStatus as status
    join payment.statusChanges as statusChange
where payment.status.name <> PaymentStatus.AWAITING_APPROVAL
    or (
        statusChange.timeStamp = (
            select max(change.timeStamp)
            from PaymentStatusChange change
            where change.payment = payment
        )
        and statusChange.user <> :currentUser
    )
group by status.name, status.sortOrder
order by status.sortOrder
       如果我映射tatusChanges为一个List代替set,那个我们的查询将更简单:
 
select count(payment), status.name
from Payment as payment
    join payment.currentStatus as status
where payment.status.name <> PaymentStatus.AWAITING_APPROVAL
    or payment.statusChanges[ maxIndex(payment.statusChanges) ].user <> :currentUser
group by status.name, status.sortOrder
order by status.sortOrder
    下面这个查询用到MS SQLisnull()函数,用到3个内连接和1个外联接,用大的表:account, payment, payment_status, account_type, organizationorg_user
 
select account, payment
from Account as account
    left outer join account.payments as payment
where :currentUser in elements(account.holder.users)
    and PaymentStatus.UNPAID = isNull(payment.currentStatus.name, PaymentStatus.UNPAID)
order by account.type.sortOrder, account.accountNumber, payment.dueDate
       对于其他的数据库,我们需要使用关联的子查询:
 
select account, payment
from Account as account
    join account.holder.users as user
    left outer join account.payments as payment
where :currentUser = user
    and PaymentStatus.UNPAID = isNull(payment.currentStatus.name, PaymentStatus.UNPAID)
order by account.type.sortOrder, account.accountNumber, payment.dueDate
10.13 提示和窍门
       你可以不用真正的返回查询结果,而知道查询结果的数量:
 
( (Integer) session.iterate("select count(*) from ....").next() ).intValue()
 
       按照返回的集合的大小排序,可以使用下面的语句:
 
select usr.id, usr.name from User as usr
 
left join usr.messages as msg
 
group by usr.id, usr.name
 
order by count(msg)
 
如果你的数据库支持子查询,那么你可以在where从句中指定一个查询返回结果尺寸的条件:
 
from User usr where size(usr.messages) >= 1
 
如果你的数据库不支持子出查询,那么你可以使用相面的查询:
 
select usr.id, usr.name
 
from User usr.name
 
    join usr.messages msg
 
group by usr.id, usr.name having count(msg) >= 1
 
上面这个办法因为使用了内连接不能返回拥有0个消息的用户的信息,下面这个查询是有用的:
 
select usr.id, usr.name
 
from User as usr
 
    left join usr.messages as msg
 
group by usr.id, usr.name
 
having count(msg) = 0
 
JavaBean的属性可以作为查询的指定参数被绑定:
 
Query q = s.createQuery("from foo in class Foo where foo.name=:name and foo.size=:size");
 
q.setProperties(fooBean); // fooBean has getName() and getSize()
 
List foos = q.list();
 
集合可以通过使用带有过滤器的Query接口实现分页(pageable)功能:
 
Query q = s.createFilter( collection, "" ); // the trivial filter
 
q.setMaxResults(PAGE_SIZE);
 
q.setFirstResult(PAGE_SIZE * pageNumber);
 
List page = q.list();
 
使用查询过滤器,可以实现集合元素的排序和分组:
 
Collection orderedCollection = s.filter( collection, "order by this.amount" );
 
Collection counts = s.filter( collection, "select this.type, count(this) group by this.type" );
 
你可以不用对集合进行初始化,就可以得到它的大小:
 
( (Integer) session.iterate("select count(*) from ....").next() ).intValue();
分享到:
评论

相关推荐

    【高创新】基于鲸鱼优化算法WOA-Transformer-LSTM实现故障识别Matlab实现.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    《冯唐成事心法》学习笔记01:逆境来,了怎么办?

    《冯唐成事心法》学习笔记01:逆境来,了怎么办?

    c语言课程设计-职工资源管理系统.7z

    c语言课程设计-职工资源管理系统.7z

    VB个人邮件处理系统(源代码+系统).zip

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。

    java基于ssm+jsp咖啡馆管理系统源码 带毕业论文

    1、开发环境:ssm框架;内含Mysql数据库;JSP技术 2、需要项目部署的可以私信 3、项目代码都经过严格调试,代码没有任何bug! 4、该资源包括项目的全部源码,下载可以直接使用! 5、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 6、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。

    【高创新】基于雾凇优化算法RIME-Transformer-BiLSTM实现故障识别Matlab实现.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    vb+access大气污染模型(系统+翻译+论文+开题).zip

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 、 1资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READmE.文件(md如有),本项目仅用作交流学习参考,请切勿用于商业用途。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。

    【高创新】基于多元宇宙优化算法MVO-Transformer-BiLSTM实现故障识别Matlab实现.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    Linux_运维脚本、GUI安装以及学习文档_ansible-linux.zip

    Linux_运维脚本、GUI安装以及学习文档_ansible-linux

    Go语言介绍(十五)--Go 语言range.docx

    Go语言介绍(十五)--Go 语言range

    Palo Alto Networks PA-220 管理员指导手册

    Palo Alto Networks PA-220 管理员指导手册

    VB+ACCESSVCD租借管理系统(系统+论文+需要分析).zip

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通;、本 3项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看ReadmE.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 、资 1源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READMe.m文件(如d有),本项目仅用作交流学习参考,请切勿用于商业用途。

    三菱PLC 结构化编程Q系列整条生产线大型项目 两台Q PLC 6台触摸屏 以太网通讯 机器人控制 mes ccd RS232串

    三菱PLC 结构化编程Q系列整条生产线大型项目 两台Q PLC 6台触摸屏 以太网通讯 机器人控制 mes ccd RS232串口通讯 大量fb,fc通用模块 三菱plc大项目程序高级编程 三菱PLC结构化编程一整条生产线程序全套资料 2台Q系列CPU 6台触摸屏 CC-LINK IO 串口通信 扫码枪 8台机器人 拧紧抢系统 CCD 上位机 mes过站管控 三菱gx works2结构化模块化编程,一条产线程序,大型架构,有非常大的参考意义,如果你能学会,势必升级 整条生产线程序包括,15个工位,流水线贯穿 两台三菱Q PLC,以太网通信 CCLINK远程IO站 6台触摸屏主从通信 主站触摸屏用宏指令设计型号管理:修改工艺参数、修改型号名称,并自动同步到从站触摸屏,由主站触摸屏统一换型 触摸屏界面设计优良 项目程序包含大量可重复使用的FB模块: 功能块FB封装有: 系统管理FB 气缸FB(单控双控通用) 机器人控制FB, 串口通信FB, 节拿FB, 产量统计FB, IO监视FB 线体挡停气缸FB(内含数据信息传递) 打螺丝控制FB 产品到达工位顶升控制FB 串口数据整合FC(ST

    4-3_Business_BLUE_2017_01.potx

    微软演示材料

    数据分析-Game-Data-Mining-With-R.zip

    【r语言数据分析案例】 R语言数据分析与挖掘,附数据及代码

    java基于ssm+vue校园二手交易平台系统源码 带毕业论文+PPT

    1、开发环境:ssm框架;内含Mysql数据库;VUE技术 2、需要项目部署的可以私信 3、项目代码都经过严格调试,代码没有任何bug! 4、该资源包括项目的全部源码,下载可以直接使用! 5、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 6、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。

    vb+access学籍管理系统(系统+论文).zip

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。

    基于变分多谐波对偶模式追踪从噪声信号中提取重复瞬态分量的方法附Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    4-3_Consumer_BLUE_2017_01.potx

    微软演示材料

    java基于ssm+vue贫困认定管理平台系统源码 带毕业论文

    1、开发环境:ssm框架;内含Mysql数据库;VUE技术 2、需要项目部署的可以私信 3、项目代码都经过严格调试,代码没有任何bug! 4、该资源包括项目的全部源码,下载可以直接使用! 5、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 6、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。

Global site tag (gtag.js) - Google Analytics