| 您的当前位置:首页 --> MYSQL教程 --> 如何通过配置自动实现ValueList中hql语句的整型参数转换 |
| MYSQL教程 如何通过配置自动实现ValueList中hql语句的整型参数转换 |
| 浏览次数:1405 关键词 ( ) |
| 查看使用该CPU的产品 查看CPU天梯 |
| CPU型号:如何通过配置自动实现ValueList中hql语句的整型参数转换 |
| 主频:Ghz |
| 睿频:Ghz |
| 核心数:个 |
| 不支持超核心 |
| 制作工艺: |
| 插槽类型: |
| 功耗:0W |
| L3缓存:0MB |
| 支持最大内存: 0GB |
| CPU详细参数 |
|
通过valuelist的queryMap传递过来的参数默认都为string类型,在valuelist配置文件的hql中,如果直接将该值赋给整型的字段会报错。一般我们会在hql中利用转型函数来进行处理,如下: 复制代码 代码如下: <entry key="areasInfoAdapter"> <bean parent="abstractHibernate30Adapter"> <property name="defaultNumberPerPage"><value>19</value></property> <property name="statementBuilder"><ref bean="statementBuilderHql"/></property> <property name="defaultSortColumn"><value>id</value></property> <property name="defaultSortDirection"><value>desc</value></property> <property name="hql"> <value> from com.berheley.hcms.persistence.model.TBaseAreas as tb where tb.status='1' /~hId : and tb.hId = to_number{hId} ~/ /~oId : and tb.oId = to_number{oId} ~/ order by tb.code asc </value> </property> <property name="defaultFocusPropertyObjectAlias"><value>vo</value></property> <property name="maxRowsForFocus"><value>160000</value></property> <property name="removeEmptyStrings"><value>true</value></property> </bean> </entry> 该方法比较麻烦,在所有的整型字段地方都需要添加函数处理,并且进行数据库迁移时会出现函数不兼容的问题。可以利用ValueList配置来对整型的字段进行统一设置,valuelist在拼装sql前会对配置好的参数进行转型。如下: 复制代码 代码如下: <bean id="integerSetterHql" class="net.mlw.vlh.adapter.hibernate3.util.setter.IntegerSetter"></bean> <bean id="statementBuilderHql" class="net.mlw.vlh.adapter.hibernate3.util.StatementBuilder"> <property name="setters"> <map> <entry key="uId"><ref bean="integerSetterHql"/></entry> <entry key="oId"><ref bean="integerSetterHql"/></entry> </map> </property> </bean> |
| 下一个产品 SQL计算timestamp的差值的方法 上一个产品 mysql创建函数出现1418错误的解决办法 |