阅读更多

4顶
7踩

编程语言

原创新闻 jOOQ 2.0发布,轻量级Java的ORM框架

2011-11-28 14:07 by 资深编辑 luiang1018 评论(22) 有17445人浏览
jOOQ 2.0已经正式发布。jOOQ 2.0是jOOQ的一个全新的开始,基于用户长久以来的强烈需求而开发。此次发布包括了大量的重大改进及bug修复。

jOOQ(Java Object Oriented Querying,即面向Java对象查询)是一个高效地合并了复杂SQL、类型安全、源码生成、ActiveRecord、存储过程以及高级数据类型的Java API的类库。

jOOQ 2.0中的主要改进:

  • 更多的静态API。
  • jooq-codegen(编译)现在默认将生成一个“动态的”元模型而不是之前的静态模型。
  • 不再进行异常检测。jOOQ 2.0添加了一个类似Spring中的DataAccessException层,最终则可能实现一个规范化的错误处理抽象。
  • 窗口函数现在由下层的Aggregate等函数聚合而成,就像SQL中那样。
  • 在涉及泛型类型等地方引入更多的类型安全。
  • 增加一个Sequence类型。
  • 支持数据库中的无符号数据类型。
注意,由于上述的这些改进都不兼容于jOOQ 1.x版本,因此在进行升级时应特别关注一些细节问题。详细请参见发布通告中的升级说明。完整的特性改进及bug修复列表也请参见发布通告。

另外,为防止这些不兼容问题可能对用户现有的项目造成影响,jOOQ同时发布了1.x系列的一个维护版本jOOQ 1.7,你可以暂时选择仍沿用1.x分支。不过Lukas Eder也提示,随着2.x后续版本的发布,未来升级可能更加困难。

发布通告:http://www.jooq.org/notes.php

下载地址:http://sourceforge.net/projects/jooq/files/

4
7
评论 共 22 条 请登录后发表评论
22 楼 KimHo 2011-11-30 21:34
yangguo 写道
caoyangx 写道
create.select(T_AUTHOR.FIRST_NAME, T_AUTHOR.LAST_NAME, count())
      .from(T_AUTHOR)
      .join(T_BOOK).on(T_BOOK.AUTHOR_ID.equal(T_AUTHOR.ID))
      .where(T_BOOK.LANGUAGE.equal("DE"))
      .and(T_BOOK.PUBLISHED.greaterThan(parseDate('2008-01-01')))
      .groupBy(T_AUTHOR.FIRST_NAME, T_AUTHOR.LAST_NAME)
      .having(count().greaterThan(5))
      .orderBy(T_AUTHOR.LAST_NAME.asc().nullsFirst())
      .limit(1, 2)
      .forUpdate();

这种写法很脑残,不如写语句更直观,如果语句再复杂些,根本就无法看出逻辑。
我没用过,所以当我看到这样的写法,我要吐。可能只有作者才有免疫力,从而这个框架的LOGO才如此血腥,是不是寓意着用这个写sql,就像大姨妈一样。



有这种想象力的程序员,未来应该会成为架构师
21 楼 yangguo 2011-11-30 13:05
caoyangx 写道
create.select(T_AUTHOR.FIRST_NAME, T_AUTHOR.LAST_NAME, count())
      .from(T_AUTHOR)
      .join(T_BOOK).on(T_BOOK.AUTHOR_ID.equal(T_AUTHOR.ID))
      .where(T_BOOK.LANGUAGE.equal("DE"))
      .and(T_BOOK.PUBLISHED.greaterThan(parseDate('2008-01-01')))
      .groupBy(T_AUTHOR.FIRST_NAME, T_AUTHOR.LAST_NAME)
      .having(count().greaterThan(5))
      .orderBy(T_AUTHOR.LAST_NAME.asc().nullsFirst())
      .limit(1, 2)
      .forUpdate();

这种写法很脑残,不如写语句更直观,如果语句再复杂些,根本就无法看出逻辑。
我没用过,所以当我看到这样的写法,我要吐。可能只有作者才有免疫力,从而这个框架的LOGO才如此血腥,是不是寓意着用这个写sql,就像大姨妈一样。


20 楼 caoyangx 2011-11-30 11:11
create.select(T_AUTHOR.FIRST_NAME, T_AUTHOR.LAST_NAME, count())
      .from(T_AUTHOR)
      .join(T_BOOK).on(T_BOOK.AUTHOR_ID.equal(T_AUTHOR.ID))
      .where(T_BOOK.LANGUAGE.equal("DE"))
      .and(T_BOOK.PUBLISHED.greaterThan(parseDate('2008-01-01')))
      .groupBy(T_AUTHOR.FIRST_NAME, T_AUTHOR.LAST_NAME)
      .having(count().greaterThan(5))
      .orderBy(T_AUTHOR.LAST_NAME.asc().nullsFirst())
      .limit(1, 2)
      .forUpdate();

这种写法很脑残,不如写语句更直观,如果语句再复杂些,根本就无法看出逻辑。
我没用过,所以当我看到这样的写法,我要吐。可能只有作者才有免疫力,从而这个框架的LOGO才如此血腥,是不是寓意着用这个写sql,就像大姨妈一样。

19 楼 weedria 2011-11-30 09:56
请教:
1、支持SQL的哪种标准.
2、支持跨数据库吗?
3、学习的成本高吗?
4、生产的效率和执行的效率怎样?
5、如果使用此框架,能够为企业带来什么好处??
18 楼 zdmcjm 2011-11-30 07:27
垃圾框架,一行sql就能搞定的逻辑,被搞成这种惨状,最受不了的是,一点批评意见都接受不了。
这种垃圾框架,没有存在的意义。
17 楼 aa87963014 2011-11-29 21:40
jooq做的事情让人吐血。 一条sql变成了一堆方法
16 楼 fainfy 2011-11-29 18:27
最后在补充一下:你知道一个网站为什么LOGO很重要吗?你知道人为什么形象很重要吗?因为人的第一感觉很重要。LOGO与形象就像一个招牌。你的Manual最前面的东西也是一样。如果你认为我看到了不全面,那是因为我觉得我已经看够了,不需要继续在看下去了。
15 楼 fainfy 2011-11-29 18:23
bcw104 写道
[url]如果jOOQ,只是在IDE为使用比JDBC更为方便,那便没有任何生存的意义。
因为开发没有人不采用IDE,你会采用Notepad写代码吗?如果作者只是认为在IDE中可以使用其自动提示的特性,这样效率便会高于JDBC一等,那就大错而特错了。因为在使用jOOQ编写之前,比采用JDBC要多做许多工作,比如声明变量、类型一系列的工作。[/url]
提高写代码的效率和减少出错,只是其中的一个优点罢了,非得要我一项项地列举吗?你既然说去官网看过了,为什么没看下面这些呢?
When to use jOOQ
When you love your RDBMS of choice, including all its vendor-specific features.
When you love control over your code.
When you love the relational data model (read this interesting article).
When you love SQL.
When you love stored procedures.
When you love both OLAP and OLTP

你用JDBC难道不声明变量和类型吗?你用Java用的不是OOP思想吗?没调查过就把人给否定了。


因为我看到了Manual,这个是你们自己做的,应该知道是什么东西吧。
我可没有评价jOOQ的意思。从你的回答,我只是想说,你只不过是想表现你下你的个人能力罢了,根本不了解市场,也不了解程序员,需要的是什么。

Java是OOP,JDBC你搞了这么多变量、类型来表示“列”根直接拼装SQL有区别吗?只不过是换了一个形式就想说有多么美吗?
在说这个jOOQ难道真的有实现ORM面向对象的编程吗?错,你还是过程式编程,完全面向问题编程,还说自己是一个轻量级“ORM”(说到底只是把JDBC换了一个形式表现而已)。
最后:我只是站在一个普通程序员的角度发表一下我自己的观点。没有任何要攻击的意思,但是你的回应让我很惊讶,一个做框架做开源的人,不懂的吸取一般用户的观点,只是站在自己的世界里面,那这东西还是收回去的好。
14 楼 bcw104 2011-11-29 16:04
引用
什么语气啊,一个东西出来了都不允许人批评?那你还是自己拿回去藏着的好!

批评当然可以,最好是多提一些,只是没调查过,只看个名字和介绍就开始评论实在让人受的了。
13 楼 bcw104 2011-11-29 15:59
[url]如果jOOQ,只是在IDE为使用比JDBC更为方便,那便没有任何生存的意义。
因为开发没有人不采用IDE,你会采用Notepad写代码吗?如果作者只是认为在IDE中可以使用其自动提示的特性,这样效率便会高于JDBC一等,那就大错而特错了。因为在使用jOOQ编写之前,比采用JDBC要多做许多工作,比如声明变量、类型一系列的工作。[/url]
提高写代码的效率和减少出错,只是其中的一个优点罢了,非得要我一项项地列举吗?你既然说去官网看过了,为什么没看下面这些呢?
When to use jOOQ
When you love your RDBMS of choice, including all its vendor-specific features.
When you love control over your code.
When you love the relational data model (read this interesting article).
When you love SQL.
When you love stored procedures.
When you love both OLAP and OLTP

你用JDBC难道不声明变量和类型吗?你用Java用的不是OOP思想吗?没调查过就把人给否定了。
12 楼 vb2005xu 2011-11-29 15:42
我使用 dbutil 我觉得很好使 , orm 很重我觉得
11 楼 vision2000 2011-11-29 15:08
这个创意应造一个Object Database 出来结合使用,把这个当作数据系统的查询语言,但用来做ORM,会不会用的很抓狂?
10 楼 freezing 2011-11-29 12:53
最近这框架要这里出现挺多的,但却没见过有人讨论和使用方面。
9 楼 jspc 2011-11-29 12:16
轻在什么地方,没有使用过,要是在简单的介绍一下那就好了
8 楼 KimHo 2011-11-29 11:40
虽然没用过这个框架,但经常见这个框架更新版本,比较频繁
7 楼 yxbwzx 2011-11-29 11:25
为什么这么多人热衷于写ORM
6 楼 fainfy 2011-11-29 10:03
bcw104 写道
fainfy 写道
bcw104 写道
z276356445t 写道
试问这东西能有多轻,都实现ORM了,还能有多轻?


ORM就不轻了?
你真正的研究过jooq吗,轻重都是相对的,你直接用JDBC的API吗?

http://www.jooq.org/manual-single-page/

刚才简单的看了一下官方提供的手册。从中间的代码看出,使用jOOQ所编写的代码相比JDBC也好不到哪里去,几乎都是与JDBC情况一样。
public class UAddressType extends UDTImpl<UAddressTypeRecord> {

    // The UDT meta-model singleton instance
    public static final UAddressType U_ADDRESS_TYPE = new UAddressType();

    // UDT attributes are modeled as static members. Nested UDT's
    // behave similarly
    public static final UDTField<UAddressTypeRecord, UStreetTypeRecord> STREET = // [...]
    public static final UDTField<UAddressTypeRecord, String> ZIP =               // [...]
    public static final UDTField<UAddressTypeRecord, String> CITY =              // [...]
    public static final UDTField<UAddressTypeRecord, String> COUNTRY =           // [...]
    public static final UDTField<UAddressTypeRecord, Date> SINCE =               // [...]
    public static final UDTField<UAddressTypeRecord, Integer> CODE =             // [...]
}

create.select(T_AUTHOR.FIRST_NAME, T_AUTHOR.LAST_NAME, count())
      .from(T_AUTHOR)
      .join(T_BOOK).on(T_BOOK.AUTHOR_ID.equal(T_AUTHOR.ID))
      .where(T_BOOK.LANGUAGE.equal("DE"))
      .and(T_BOOK.PUBLISHED.greaterThan(parseDate('2008-01-01')))
      .groupBy(T_AUTHOR.FIRST_NAME, T_AUTHOR.LAST_NAME)
      .having(count().greaterThan(5))
      .orderBy(T_AUTHOR.LAST_NAME.asc().nullsFirst())
      .limit(1, 2)
      .forUpdate();


上面的代码,最多只做了一个工作,隐藏SQL。相比JDBC来说,又简化了多少代码呢?

相比Hibernate这种ORM是从某个方面来说比较,但是它却提供给用户更方便简洁的API,相比IBatis,Spring JDBC以及纯JDBC,jOOQ又有何优势呢?

也许对于用记事本编程的你来说用“+”或StringBuilder不停地拼字符串跟JOOQ这种方式没什么区别,但是如果你用IDE的话就不一样了。


如果jOOQ,只是在IDE为使用比JDBC更为方便,那便没有任何生存的意义。
因为开发没有人不采用IDE,你会采用Notepad写代码吗?如果作者只是认为在IDE中可以使用其自动提示的特性,这样效率便会高于JDBC一等,那就大错而特错了。因为在使用jOOQ编写之前,比采用JDBC要多做许多工作,比如声明变量、类型一系列的工作。
5 楼 dwbin 2011-11-29 09:37
bcw104 写道
fainfy 写道
bcw104 写道
z276356445t 写道
试问这东西能有多轻,都实现ORM了,还能有多轻?


ORM就不轻了?
你真正的研究过jooq吗,轻重都是相对的,你直接用JDBC的API吗?

http://www.jooq.org/manual-single-page/

刚才简单的看了一下官方提供的手册。从中间的代码看出,使用jOOQ所编写的代码相比JDBC也好不到哪里去,几乎都是与JDBC情况一样。
public class UAddressType extends UDTImpl<UAddressTypeRecord> {

    // The UDT meta-model singleton instance
    public static final UAddressType U_ADDRESS_TYPE = new UAddressType();

    // UDT attributes are modeled as static members. Nested UDT's
    // behave similarly
    public static final UDTField<UAddressTypeRecord, UStreetTypeRecord> STREET = // [...]
    public static final UDTField<UAddressTypeRecord, String> ZIP =               // [...]
    public static final UDTField<UAddressTypeRecord, String> CITY =              // [...]
    public static final UDTField<UAddressTypeRecord, String> COUNTRY =           // [...]
    public static final UDTField<UAddressTypeRecord, Date> SINCE =               // [...]
    public static final UDTField<UAddressTypeRecord, Integer> CODE =             // [...]
}

create.select(T_AUTHOR.FIRST_NAME, T_AUTHOR.LAST_NAME, count())
      .from(T_AUTHOR)
      .join(T_BOOK).on(T_BOOK.AUTHOR_ID.equal(T_AUTHOR.ID))
      .where(T_BOOK.LANGUAGE.equal("DE"))
      .and(T_BOOK.PUBLISHED.greaterThan(parseDate('2008-01-01')))
      .groupBy(T_AUTHOR.FIRST_NAME, T_AUTHOR.LAST_NAME)
      .having(count().greaterThan(5))
      .orderBy(T_AUTHOR.LAST_NAME.asc().nullsFirst())
      .limit(1, 2)
      .forUpdate();


上面的代码,最多只做了一个工作,隐藏SQL。相比JDBC来说,又简化了多少代码呢?

相比Hibernate这种ORM是从某个方面来说比较,但是它却提供给用户更方便简洁的API,相比IBatis,Spring JDBC以及纯JDBC,jOOQ又有何优势呢?

也许对于用记事本编程的你来说用“+”或StringBuilder不停地拼字符串跟JOOQ这种方式没什么区别,但是如果你用IDE的话就不一样了。


什么语气啊,一个东西出来了都不允许人批评?那你还是自己拿回去藏着的好!
4 楼 bcw104 2011-11-29 08:33
fainfy 写道
bcw104 写道
z276356445t 写道
试问这东西能有多轻,都实现ORM了,还能有多轻?


ORM就不轻了?
你真正的研究过jooq吗,轻重都是相对的,你直接用JDBC的API吗?

http://www.jooq.org/manual-single-page/

刚才简单的看了一下官方提供的手册。从中间的代码看出,使用jOOQ所编写的代码相比JDBC也好不到哪里去,几乎都是与JDBC情况一样。
public class UAddressType extends UDTImpl<UAddressTypeRecord> {

    // The UDT meta-model singleton instance
    public static final UAddressType U_ADDRESS_TYPE = new UAddressType();

    // UDT attributes are modeled as static members. Nested UDT's
    // behave similarly
    public static final UDTField<UAddressTypeRecord, UStreetTypeRecord> STREET = // [...]
    public static final UDTField<UAddressTypeRecord, String> ZIP =               // [...]
    public static final UDTField<UAddressTypeRecord, String> CITY =              // [...]
    public static final UDTField<UAddressTypeRecord, String> COUNTRY =           // [...]
    public static final UDTField<UAddressTypeRecord, Date> SINCE =               // [...]
    public static final UDTField<UAddressTypeRecord, Integer> CODE =             // [...]
}

create.select(T_AUTHOR.FIRST_NAME, T_AUTHOR.LAST_NAME, count())
      .from(T_AUTHOR)
      .join(T_BOOK).on(T_BOOK.AUTHOR_ID.equal(T_AUTHOR.ID))
      .where(T_BOOK.LANGUAGE.equal("DE"))
      .and(T_BOOK.PUBLISHED.greaterThan(parseDate('2008-01-01')))
      .groupBy(T_AUTHOR.FIRST_NAME, T_AUTHOR.LAST_NAME)
      .having(count().greaterThan(5))
      .orderBy(T_AUTHOR.LAST_NAME.asc().nullsFirst())
      .limit(1, 2)
      .forUpdate();


上面的代码,最多只做了一个工作,隐藏SQL。相比JDBC来说,又简化了多少代码呢?

相比Hibernate这种ORM是从某个方面来说比较,但是它却提供给用户更方便简洁的API,相比IBatis,Spring JDBC以及纯JDBC,jOOQ又有何优势呢?

也许对于用记事本编程的你来说用“+”或StringBuilder不停地拼字符串跟JOOQ这种方式没什么区别,但是如果你用IDE的话就不一样了。
3 楼 fainfy 2011-11-28 19:36
bcw104 写道
z276356445t 写道
试问这东西能有多轻,都实现ORM了,还能有多轻?


ORM就不轻了?
你真正的研究过jooq吗,轻重都是相对的,你直接用JDBC的API吗?

http://www.jooq.org/manual-single-page/

刚才简单的看了一下官方提供的手册。从中间的代码看出,使用jOOQ所编写的代码相比JDBC也好不到哪里去,几乎都是与JDBC情况一样。
public class UAddressType extends UDTImpl<UAddressTypeRecord> {

    // The UDT meta-model singleton instance
    public static final UAddressType U_ADDRESS_TYPE = new UAddressType();

    // UDT attributes are modeled as static members. Nested UDT's
    // behave similarly
    public static final UDTField<UAddressTypeRecord, UStreetTypeRecord> STREET = // [...]
    public static final UDTField<UAddressTypeRecord, String> ZIP =               // [...]
    public static final UDTField<UAddressTypeRecord, String> CITY =              // [...]
    public static final UDTField<UAddressTypeRecord, String> COUNTRY =           // [...]
    public static final UDTField<UAddressTypeRecord, Date> SINCE =               // [...]
    public static final UDTField<UAddressTypeRecord, Integer> CODE =             // [...]
}

create.select(T_AUTHOR.FIRST_NAME, T_AUTHOR.LAST_NAME, count())
      .from(T_AUTHOR)
      .join(T_BOOK).on(T_BOOK.AUTHOR_ID.equal(T_AUTHOR.ID))
      .where(T_BOOK.LANGUAGE.equal("DE"))
      .and(T_BOOK.PUBLISHED.greaterThan(parseDate('2008-01-01')))
      .groupBy(T_AUTHOR.FIRST_NAME, T_AUTHOR.LAST_NAME)
      .having(count().greaterThan(5))
      .orderBy(T_AUTHOR.LAST_NAME.asc().nullsFirst())
      .limit(1, 2)
      .forUpdate();


上面的代码,最多只做了一个工作,隐藏SQL。相比JDBC来说,又简化了多少代码呢?

相比Hibernate这种ORM是从某个方面来说比较,但是它却提供给用户更方便简洁的API,相比IBatis,Spring JDBC以及纯JDBC,jOOQ又有何优势呢?

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 现在常用的java框架有哪些

    Unicode国际化:icu4j扩展了Java标准集合框架,高性能的库:fastutil高性能网络应用框架:NettySpringBoot+Docker集成测试:TestcontainersHTTP 请求模拟测试框架:WireMockexcel操作:poi-ooxmlJava神器动态生成类:...

  • Java 框架、库和软件的精选列表(Awesome Java)

    原创翻译,原始链接 本文为awesome系列中的awesome java 文章目录项目Bean映射构建字节码操作缓存CLI集群管理代码分析代码覆盖率代码生成器编译器计算机视觉配置约束满足问题求解器CSV数据结构数据库日期和时间依赖...

  • 业余草分享 Spring Boot 2.0 正式发布的新特性

    就在昨天Spring Boot2.0.0.RELEASE正式发布,今天早上在发布Spring Boot2.0的时候还出现一个小插曲,将Spring Boot2.0同步到Maven仓库的时候出现了错误,然后Spring Boot官方又赶紧把 GitHub 上发布的 v2.0.0....

  • Java面试复习大纲2.0(持续更新)

    Java面试复习大纲2.0(持续更新)2018-02-26 奋斗蒙 Java帮帮面试复习大纲(Java帮帮总结)【人事】31道,不准备就掉坑的问题【简历】1年简历模板一【简历】2年简历模板一【简历】3年简历模板一【面试】面试练习题...

  • 2022年面试,整理全网初、中、高级常见 Java 面试题

    面试题答案见微信小程序 “Java 精选面试题”,3000 + 道面试题。内容持续更新中包含基础、集合、并发、JVM、Spring、Spring MVC、Spring Boot、Spring Cloud、Dubbo、MySQL、Redis、MyBaits、Zookeeper、Linux、...

  • Java资源大全中文版

    awesome-java 就是 akullpp 发起维护的 Java 资源列表,内容包括:构建工具、数据库、框架、模板、安全、代码分析、日志、第三方库、书籍、Java 站点等等。伯乐在线已经把 awesome-java 资源列表翻成中文后发布于 ...

  • 2021年面试,整理全网初、中、高级常见Java面试题

    2014年4月发布第一个版本的全新开源的Spring Boot轻量级框架。它基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。 另外Spring Boot通过...

  • springboot2.0(一):【重磅】Spring Boot 2.0权威发布

    换句话说就是,当你觉得 Java 不好用的时候,我做了个轻量级的 S,让你好好用 Java。等你觉的 S 也不够轻了,我做了个 SB,让你觉得 S 还是挺轻的。 从2002年Rod Johnson的 interface21 到如今的 Spring Boot2.0 ...

  • 【重磅】Spring Boot 2.0权威发布

    也就是说Spring Boot2.0的最低版本要求为JDK8,据了解国内大部分的互联网公司系统都还跑在JDK1.6/7上,因此想要升级到Spring Boot2.0的同学们注意啦,同时支持了Java9,也仅仅是支持而已。 响应式编程 使用 Spring...

  • Spring Boot 2(一):【重磅】Spring Boot 2.0权威发布

    就在今天Spring Boot2.0.0.RELEASE正式发布,今天早上在发布Spring Boot2.0的时候还出现一个小插曲,将Spring Boot2.0同步到Maven仓库的时候出现了错误,然后Spring Boot官方又赶紧把 GitHub 上发布的 v2.0.0....

  • Spring Boot 2.0(一):【重磅】Spring Boot 2.0权威发布

    就在今天Spring Boot2.0.0.RELEASE正式发布,今天早上在发布Spring Boot2.0的时候还出现一个小插曲,将Spring Boot2.0同步到Maven仓库的时候出现了错误,然后Spring Boot官方又赶紧把 GitHub 上发布的 v2.0.0....

  • 史诗级Java资源大全中文版

    awesome-java就是 akullpp 发起维护的 Java 资源列表,内容包括:构建工具、数据库、框架、模板、安全、代码分析、日志、第三方库、书籍、Java 站点等等。 古董级工具 这些工具伴随着Java一起出现,在各自辉煌之后...

  • spring boot 2.0(一)权威发布spring boot2.0

    Spring Boot2.0.0.RELEASE正式发布,在发布Spring Boot2.0的时候还出现一个小插曲,将Spring Boot2.0同步到Maven仓库的时候出现了错误,然后Spring Boot官方又赶紧把 GitHub 上发布的 v2.0.0.RELEASE 版本进行了撤回...

  • 2021年面试,整理全网初、中、高级常见Java面试题附答案

    面试题答案见微信小程序 “Java精选面试题”,3000+道面试题。内容持续更新中包含基础、集合、并发、JVM、Spring、Spring MVC、Spring Boot、Spring Cloud、Dubbo、MySQL、Redis、MyBaits、Zookeeper、Linux、数据...

  • SpringBoot2.0(一):【重磅】Spring Boot 2.0权威发布

    就在昨天Spring Boot2.0.0.RELEASE正式发布,今天早上在发布Spring Boot2.0的时候还出现一个小插曲,将Spring Boot2.0同步到Maven仓库的时候出现了错误,然后Spring Boot官方又赶紧把 GitHub 上发布的 v2.0.0....

  • 《永磁无刷直流电机控制系统与软件综合研究-集成电机计算软件、电机控制器及电磁设计软件的创新设计与实践》,永磁无刷直流电机计算与控制软件:高效电机控制器与电磁设计工具,永磁无刷直流电机计算软件,电机控

    《永磁无刷直流电机控制系统与软件综合研究——集成电机计算软件、电机控制器及电磁设计软件的创新设计与实践》,永磁无刷直流电机计算与控制软件:高效电机控制器与电磁设计工具,永磁无刷直流电机计算软件,电机控制器,无刷电机设计软件,电机电磁设计软件 ,永磁无刷直流电机计算软件; 电机控制器; 无刷电机设计软件; 电机电磁设计软件,无刷电机设计专家:永磁无刷直流电机计算与控制器设计软件

  • 新能源汽车VCU开发模型及策略详解:从控制策略到软件设计全面解析,新能源汽车VCU开发模型及策略详解:从控制策略到软件设计全面解析,新能源汽车VCU开发模型及控制策略,MBD电控开发 新能源汽车大势所

    新能源汽车VCU开发模型及策略详解:从控制策略到软件设计全面解析,新能源汽车VCU开发模型及策略详解:从控制策略到软件设计全面解析,新能源汽车VCU开发模型及控制策略,MBD电控开发 新能源汽车大势所向,紧缺VCU电控开发工程师,特别是涉及新能源三电系统,工资仅仅低于无人驾驶、智能驾驶岗位。 ——含控制策略模型 整车控制策略详细文档 通讯协议文档 接口定义 软件设计说明文档 等(超详细,看懂VCU电控策略开发就通了) 内容如下: 新能源汽车整车控制器VCU学习模型,适用于初学者。 1、模型包含高压上下电,行驶模式管理,能量回馈,充电模式管理,附件管理,远程控制,诊断辅助功能。 2、软件说明书(控制策略说明书) 3、模型有部分中文注释 对想着手或刚开始学习整车控制器自动代码生成或刚接触整车控制器有很大帮助。 ,新能源汽车VCU开发模型; 控制策略; MBD电控开发; 模型学习; 代码生成; 整车控制器; 能量回馈; 诊断辅助功能,新能源汽车电控开发详解:VCU控制策略模型及学习手册

  • Python读取Excel文件的方法详解及应用场景

    内容概要:本文详细介绍了两种利用 Python 读取 Excel 文件的不同方法,分别是基于 pandas 和 openpyxl。对于想要利用Python 处理 Excel 数据的读者来说,文中不仅提供了简洁明了的具体代码片段以及执行效果展示,还针对每个库的应用特性进行了深度解析。此外,文档提到了一些进阶应用技巧如只读特定的工作薄、过滤某些列等,同时强调了需要注意的地方(像是路径设置、engine 参数调整之类),让读者可以在面对实际项目需求时做出更加明智的选择和技术选型。 适合人群:对 Python 有基本掌握并希望提升数据读取能力的开发人员。 使用场景及目标:适用于任何涉及到批量数据导入或是与 Excel 进行交互的业务流程。无论是做初步的数据探索还是深入挖掘隐藏于电子表格背后的故事,亦或是仅为了简化日常办公自动化任务都可以从中受益。最终目标帮助使用者熟悉两大主流 Excel 解决方案的技术特性和最佳实践。 阅读建议:本文既是一份详尽的学习指南也是一份方便随时查阅的手册。因此初学者应当认真研究所提供的示例,而有一定经验者也可以快速定位到感兴趣的部分查看关键要点。

  • 毕设springboot基于springboot的医护人员排班系统.zip

    # 医护人员排班系统 ## 1. 项目介绍 本系统是一个基于SpringBoot框架开发的医护人员排班管理系统,用于医院管理医护人员的排班、调班等工作。系统提供了完整的排班管理功能,包括科室管理、人员管理、排班规则配置、自动排班等功能。 ## 2. 系统功能模块 ### 2.1 基础信息管理 - 科室信息管理:维护医院各科室基本信息 - 医护人员管理:管理医生、护士等医护人员信息 - 排班类型管理:配置不同的排班类型(如:早班、中班、晚班等) ### 2.2 排班管理 - 排班规则配置:设置各科室排班规则 - 自动排班:根据规则自动生成排班计划 - 排班调整:手动调整排班计划 - 排班查询:查看各科室排班情况 ### 2.3 系统管理 - 用户管理:管理系统用户 - 角色权限:配置不同角色的操作权限 - 系统设置:管理系统基础配置 ## 3. 技术架构 ### 3.1 开发环境 - JDK 1.8 - Maven 3.6 - MySQL 5.7 - SpringBoot 2.2.2 ### 3.2 技术栈 - 后端框架:SpringBoot - 持久层:MyBatis-Plus - 数据库:MySQL - 前端框架:Vue.js - 权限管理:Spring Security ## 4. 数据库设计 主要数据表: - 科室信息表(keshixinxi) - 医护人员表(yihurengyuan) - 排班类型表(paibanleixing) - 排班信息表(paibanxinxi) - 用户表(user) ## 5. 部署说明 ### 5.1 环境要求 - JDK 1.8+ - MySQL 5.7+ - Maven 3.6+ ### 5.2 部署步骤 1. 创建数据库并导入SQL脚本 2. 修改application.yml中的数据库配置 3. 执行maven打包命令:mvn clean package 4. 运行jar包:java -jar xxx.jar ## 6. 使用说明 ### 6.1 系统登录 - 管理员账号:admin - 初始密码:admin ### 6.2 基本操作流程 1. 维护基础信息(科室、人员等) 2. 配置排班规则 3. 生成排班计划 4. 查看和调整排班 ## 7. 注意事项 1. 首次使用请及时修改管理员密码 2. 定期备份数据库 3. 建议定期检查和优化排班规则

  • MATLAB仿真的夫琅禾费衍射强度图:圆孔、圆环、矩形孔定制研究,MATLAB仿真:夫琅禾费衍射强度图的可定制性-以圆孔、圆环及矩形孔为例的研究分析,MATLAB夫琅禾费衍射强度图仿真 圆孔,圆环

    MATLAB仿真的夫琅禾费衍射强度图:圆孔、圆环、矩形孔定制研究,MATLAB仿真:夫琅禾费衍射强度图的可定制性——以圆孔、圆环及矩形孔为例的研究分析,MATLAB夫琅禾费衍射强度图仿真 圆孔,圆环,矩形孔可定制。 ,MATLAB; 夫琅禾费衍射; 强度图仿真; 圆孔; 圆环; 矩形孔; 可定制。,MATLAB仿真夫琅禾费衍射强度图:定制孔型(圆孔/圆环/矩形)

Global site tag (gtag.js) - Google Analytics