在数据模型.接口参数等场景部分属性参数为一些常量值,比如性别:男.女.若是定义成int或String类型,于是类型本身的范围太宽,要求使用者需要了解底层的业务方可知如何传值,那整体来看增加沟通成本,对接效率也低.面对此等业务,使用枚举简便许多.枚举enum像个固定常量类,也像一个数组. public enum Sex { Male(1,"男"), FeMale(2,"女"), ; private int index; private String descripti
我们有时候用in语句的时候,发现存在Sql注入漏洞,想参数化处理一下,遇到语句执行问题!! declare @ids varchar() set @ids='216,218' select * from tbl_temp where id in(@ids) 但是还是必须要解决Sql注入的问题,解决方案:利用CHARINDEX系统函数处理 declare @ids varchar() set @ids='216,218' 查到正确的数据结果.
因项目要求,需要把SQLSERVER一张客户表的数据同步到oracle库的一张客户表,但两张表有时间类型不一致,需要进行转换 如下: SELECT CUSTCODE,AgreementValidity_Start, convert(datetime,replace(replace(replace(AgreementValidity_End,'年', '-'),'月','-'),'日','')) FROM [APEXMIS].[dbo].[Customer] where CUSTCODE='SZX
java.lang.String和java.util.Date之间自动转换 @DateTimeFormat(pattern="yyyy-MM-dd")//页面写入数据库时格式化 @JSONField(format="yyyy-MM-dd")//数据库导出页面时json格式化 public class User implements Serializable{ private Integer id; private String loginname; private
自定义mybatis枚举转换,原理是如果用户没有定义自己的枚举转换工具,mybatis在解析枚举类时会自动获取mybatis的BaseTypeHandler,来转换枚举类,我们只需要重写这个枚举转换器,并将它指定为默认的转换器就好了 首先,定义一个通用接口BaseEnum: import java.util.Arrays; import java.util.Optional; public interface BaseEnum<T>{ T getDictKey(); default T get
数据库中存在int型的字段,但是初始值为null,mybatis取值之后就会报错, org.apache.ibatis.binding.BindingException: Mapper method 'getSort' (xx.yy.cc.DxxDAO) attempted to return null from a method with a primitive return type (int). 解决:采用了取巧的方式,将实体类对应的该字段设置成String类型,mybatis取出来之后自
1. jdbc java type 映射关系 1) mysql的text 在mybatis中使用varchar类型 2. mybatis常见的错误 3.There is no getter for property named '***' in 'class java.lang.String' 主要问题$与#区别 衍生问题 4.mybatis传入多个参数问题