`
312350968
  • 浏览: 212143 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

My SQL在Hibernate中常用函数

 
阅读更多

MySQL的常用的串函数在Hibernate中的应用:

1.lower()   转换成小写
2.length()   字符长度,返回long
3.ltrim()       left trim 空格
4.reverse()    串反转
5.rtrim()    right trim 空格


二常用数学函数
6.abs()     取绝对值
7.floor() 和round()
  

三日期函数
curdate()           返回当前日期 返回Hiberante.Date() 注:Hiberante.*表示Hibernate的基本类型,所对应的Mysql的类型就是Mysql的类型
curtime()           返回当前时间 返回Hiberante.TIME()
current_timestamp()     返回当前时间 返回Hibernate.TIMESTAMP
DATE_FORMAT()           返回当前格式化的字符串的日期   Hibernate.String

线面还有几个非常重要的

DATEDIFF('1997-12-31 23:59:59','1997-12-30');
TO_DAYS(NOW()) - TO_DAYS('1997-10-04 22:23:00') >= 30

就写这么多了,在hibernate中支持的所有的函数如下所示:

         registerFunction("datediff", new StandardSQLFunction("datediff", Hibernate.INTEGER) );
         registerFunction("timediff", new StandardSQLFunction("timediff", Hibernate.TIME) );
         registerFunction("date_format", new StandardSQLFunction("date_format", Hibernate.STRING) );

         registerFunction("curdate", new NoArgSQLFunction("curdate", Hibernate.DATE) );
         registerFunction("curtime", new NoArgSQLFunction("curtime", Hibernate.TIME) );
         registerFunction("current_date", new NoArgSQLFunction("current_date", Hibernate.DATE, false) );
         registerFunction("current_time", new NoArgSQLFunction("current_time", Hibernate.TIME, false) );
         registerFunction("current_timestamp", new NoArgSQLFunction("current_timestamp", Hibernate.TIMESTAMP, false) );
         registerFunction("date", new StandardSQLFunction("date", Hibernate.DATE) );
         registerFunction("day", new StandardSQLFunction("day", Hibernate.INTEGER) );
         registerFunction("dayofmonth", new StandardSQLFunction("dayofmonth", Hibernate.INTEGER) );
         registerFunction("dayname", new StandardSQLFunction("dayname", Hibernate.STRING) );
         registerFunction("dayofweek", new StandardSQLFunction("dayofweek", Hibernate.INTEGER) );
         registerFunction("dayofyear", new StandardSQLFunction("dayofyear", Hibernate.INTEGER) );
         registerFunction("from_days", new StandardSQLFunction("from_days", Hibernate.DATE) );
         registerFunction("from_unixtime", new StandardSQLFunction("from_unixtime", Hibernate.TIMESTAMP) );
         registerFunction("hour", new StandardSQLFunction("hour", Hibernate.INTEGER) );
         registerFunction("last_day", new StandardSQLFunction("last_day", Hibernate.DATE) );
         registerFunction("localtime", new NoArgSQLFunction("localtime", Hibernate.TIMESTAMP) );
         registerFunction("localtimestamp", new NoArgSQLFunction("localtimestamp", Hibernate.TIMESTAMP) );
         registerFunction("microseconds", new StandardSQLFunction("microseconds", Hibernate.INTEGER) );
         registerFunction("minute", new StandardSQLFunction("minute", Hibernate.INTEGER) );
         registerFunction("month", new StandardSQLFunction("month", Hibernate.INTEGER) );
         registerFunction("monthname", new StandardSQLFunction("monthname", Hibernate.STRING) );
         registerFunction("now", new NoArgSQLFunction("now", Hibernate.TIMESTAMP) );
         registerFunction("quarter", new StandardSQLFunction("quarter", Hibernate.INTEGER) );
         registerFunction("second", new StandardSQLFunction("second", Hibernate.INTEGER) );
         registerFunction("sec_to_time", new StandardSQLFunction("sec_to_time", Hibernate.TIME) );
         registerFunction("sysdate", new NoArgSQLFunction("sysdate", Hibernate.TIMESTAMP) );
         registerFunction("time", new StandardSQLFunction("time", Hibernate.TIME) );
         registerFunction("timestamp", new StandardSQLFunction("timestamp", Hibernate.TIMESTAMP) );
         registerFunction("time_to_sec", new StandardSQLFunction("time_to_sec", Hibernate.INTEGER) );
         registerFunction("to_days", new StandardSQLFunction("to_days", Hibernate.LONG) );
         registerFunction("unix_timestamp", new StandardSQLFunction("unix_timestamp", Hibernate.LONG) );
         registerFunction("utc_date", new NoArgSQLFunction("utc_date", Hibernate.STRING) );
         registerFunction("utc_time", new NoArgSQLFunction("utc_time", Hibernate.STRING) );
         registerFunction("utc_timestamp", new NoArgSQLFunction("utc_timestamp", Hibernate.STRING) );
         registerFunction("week", new StandardSQLFunction("week", Hibernate.INTEGER) );
         registerFunction("weekday", new StandardSQLFunction("weekday", Hibernate.INTEGER) );
         registerFunction("weekofyear", new StandardSQLFunction("weekofyear", Hibernate.INTEGER) );
         registerFunction("year", new StandardSQLFunction("year", Hibernate.INTEGER) );
         registerFunction("yearweek", new StandardSQLFunction("yearweek", Hibernate.INTEGER) );

分享到:
评论

相关推荐

    hibernate 调用oracle函数

    本文将深入探讨如何在Hibernate中调用Oracle的函数,以实现高效的数据操作。 首先,我们需要理解Hibernate的核心理念,它允许开发者通过面向对象的方式来处理数据库操作,而无需编写大量的SQL语句。Hibernate通过...

    hibernate方言汇总.docx和SSH的jar包名称

    这个方言参数用于指定Hibernate在生成SQL语句时所使用的数据库特性,确保SQL语句与特定数据库的兼容性。 #### Hibernate方言的作用 - **SQL语法差异处理**:不同的数据库系统有着不同的SQL语法和特性支持。例如,...

    SQLSERVER2000一些内置存储过程用法和说明

    在实际应用中,程序员经常使用 Visual Basic 等高级编程语言来构建 SQL 语句,进而实现对数据库的操作,如创建或删除数据结构、管理用户权限以及进行数据的增删改查等操作。然而,这种做法也带来了一些安全隐患,...

    my-four.rar_four

    5. **oracle函数.chm**:Oracle是广泛应用的关系型数据库,这份手册可能详细介绍了Oracle的内置函数,对于SQL查询和数据库管理至关重要。 6. **正则表达式.chm**:正则表达式是文本处理的利器,可以用于数据验证、...

    oracle存储过程学习经典[语法+实例+调用]

    在Oracle中,存储过程是使用PL/SQL语言编写的,它可以封装数据库操作,提高应用程序的效率和安全性。 ##### 存储过程与业务逻辑 存储过程能够存储商业规则和业务逻辑,这有助于将执行逻辑从应用层移至数据库层,...

    oracle 存储过程学习经典

    - **函数**: 必须有一个返回值,可以在SQL查询中直接调用。 - **存储过程**: 没有返回值,主要用于执行一系列操作。 - **本质区别**: 函数被视为表达式的一部分,而存储过程则是一种命令。 #### 四、Oracle存储过程...

    一套采用采用NHibernate框架技术实现的BruceBlog博客程序源码

    2. `myblog.sln`:这是一个Visual Studio解决方案文件,包含了项目的所有组件和配置信息,用于在IDE中打开并管理整个博客项目。 3. `51aspx源码必读.txt`:可能是一个阅读指南或者开发注意事项,针对51aspx社区的...

    Clojure学习——持久化框架clj-record

    在IT行业中,Clojure是一种基于Lisp的函数式编程语言,它运行在Java虚拟机(JVM)上,充分利用了Java生态系统的优势。本篇文章将深入探讨Clojure中的持久化框架clj-record,以及如何利用它来高效地处理数据。源码...

    MySql连接数据库(方法、代码、用到的所有组件)

    - **JDBC驱动**:在Java中,使用JDBC连接MySQL需要添加对应的JDBC驱动,如`mysql-connector-java.jar`。 - **连接代码**:创建`DriverManager.getConnection()`实例,提供数据库URL、用户名和密码。 ```java ...

    分页代码(java)基于web

    2. **持久化层(DAO)**:在实际项目中,这个步骤可能被进一步封装,但基本逻辑与Service层相同,主要是执行SQL查询。 3. **计算总页数**:在Service层,根据查询得到的总记录数和每页记录数计算总页数。 ```java ...

    java编码规范

    - **异常处理**:正确使用`try-catch-finally`块,避免捕获并忽略异常,尽量不要在finally块中包含复杂的逻辑。 2. **SSH编码规范** - **Spring框架**: - 遵循IoC(控制反转)和AOP(面向切面编程)原则,尽量...

    sequence:从数据库生成序列 ID

    在SQL中,我们可以这样使用这个序列: ```sql INSERT INTO my_table (id, name) VALUES (my_sequence.NEXTVAL, 'John Doe'); ``` ### 2. Java与数据库序列 在Java中,我们通常通过JDBC(Java Database ...

    数据库连接工具

    在提供的压缩包文件中,`my32.dll`可能是一个动态链接库文件,它可能包含了一些与数据库连接相关的函数或者组件,供其他应用程序调用,比如上述的TestLinkZhiNengKa软件。 总的来说,数据库连接工具是IT系统中不可...

    初学java的blog实例

    在文件名"MyBlog"中,我们可以推测这是一个个人博客项目,具体实现可能包括用户登录注册、文章发布和评论等功能,涉及上述多个技术点的综合运用。在不断迭代和完善的过程中,作者将不断提升自己的编程技能和问题解决...

    java面试中重点题目

    Java中的多态性主要体现在动态绑定机制上,这是一种在运行时确定调用哪个方法的特性。它使得代码更加灵活和可扩展。 **核心概念:** - **动态绑定**:通过父类引用调用子类的方法时,实际执行的是子类的方法,这种...

    PruebaConexionBD_Kotlin:通过一个基本MySQL数据库进行转换,并使用Kotlin使用该库。

    虽然直接使用JDBC可以完成数据库操作,但在大型项目中,通常会使用Object-Relational Mapping(ORM)框架,如Hibernate或Exposed,来简化数据操作。这些框架将数据库操作转化为面向对象的方式,提高了开发效率和代码...

    浅析mysql交互式连接&非交互式连接

    交互式连接通常指的是通过命令行客户端直接与MySQL服务器进行交互,例如在终端中打开MySQL客户端并手动输入SQL语句。这种模式下,交互式时间(`interactive_timeout`)参数起作用,它定义了在无任何活动的情况下,...

Global site tag (gtag.js) - Google Analytics