工作问题总结 -2

1、mysql里bigdecimal 格式的设置保留2小数,查询出确是没有小数位数的数字

 

解决办法:

使用Jackson进行序列化,以下举例:

//引入jackson相关包
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
@JsonSerialize(using= ToStringSerializer.class)
private BigDecimal shipmentAmountTotal;

2、(1)中问题在查询列表中已解决,但是在查询详情中却失效

原因:因为在查询列表中只使用了jackson的包, 但是在查询详情中却使用了fastjson 和 jackson两种,他们俩属于不同的包,导致保留小数位功能失效

这里就混用了两种,so。。 我们就两者取其一,就不用fastjson 全改成Jackson。

 

3、getJdbcTemplate().batchUpdate();   批量执行sql语句

 

举例说明:

public void assignPermission(final String roleId, final String menuIdList[]) throws DataAccessException {
   String sql = "INSERT INTO CFG_ROLE_PERMISSION (ROLE_ID, PERMISSION_ID) VALUES (?, ? )";
   getJdbcTemplate().batchUpdate(sql,  new BatchPreparedStatementSetter(){
       public void setValues(PreparedStatement ps,int i)throws SQLException    //设置执行sql的值
         { 
          String menuId = menuIdList[i];
          ps.setString(1, roleId); 
          ps.setString(2, menuId);
         } 
         public int getBatchSize()      //设置批量执行次数
         { 
          return menuIdList.length; 
         } 
    });
}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值