4.3拼装sql那个地方,我觉得应该是把fieldName改成columnName吧。。。
sb.append(" and ").append(columnName).append("=").append(fieldValue);
sb.append(" and ").append(columnName).append("=").append(fieldValue);
2016-06-25
最赞回答 / 花绝世
针对老师代码来说:单从老师的代码上确实和你说的差不多!其实不知道你有没有发现,老师的本意是Column注解的值,是表示数据库中表的字段的,如果数据库中的表按照这个意思来创建的,那么最后生成的sql语句是有问题的。如:userName的用@Column("user_name")意味着数据库表中字段名应该是user_name。如果我们做一个假设,需要做映射的类满足java类名 ==(或者做固定的转换,如首字母小写) 数据库中表名, java字段名 ==(或者做固定的转换,如首字母小写,在驼峰字母转成“_ ”+...
2016-06-17
已采纳回答 / 花绝世
你是说为什么注解能做到这个吧。官方定义的,类似于在代码中打一个标记,有分编译时和运行时。对注解进行解析的代码在编译器和运行时中,简单说就是编译器和运行时发现类似的@xxx就看看是不是有对应的注解类型,有就对其进行相应的处理。至于如何去找这个注解标记,那就去看看编译器和jvm的源码了,一般学习不用纠结。就好比定义一个整型变量就是用int,这就是语法!如果第三方的话,一般是属于运行时注解,通过反射调用的。即通过反射调用某个方法,加载某个类等等操作的时候,获取注解信息(反射api有提供方法获取),然后针对相应的...
2016-06-17