JPA怎么判断一个字段是不是存在?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JPA怎么判断一个字段是不是存在?相关的知识,希望对你有一定的参考价值。
我用了java的JPA连接数据库,我想判断某个字段是否存在,怎么做?
参考技术A 读取数据库元数据,做判断即可。追问我是要在读前判断,否则随便传一个字段进来,就去数据库读,就有问题了
追答在java程序里你只可以操作java对象,属性,你可以判断属性存在不存在;假如你要用java程序去判断数据库里某个字段存在不存在,那没办法。
你可以这样:
假定数据库的字段和程序中类的属性是对应的,那么我们可以理解为,只要判断类的属性存在不存在就相当于判断了数据库的字段存在不存在。
好了,假如是这样,那么判断类的属性存在不存在吧,这个简单,反射就可以了。
@Entity
@Table(name="wb_user")
public class WbUser implements Serializable
@Id private int id;
private String name;
private String passwd;
............
我有数据库对应的类,就是要判断这个类里面的属性是否存在,怎么判断,这个类的属性全部都是private的
String f ="name";
Class clazz = WbUser.class;
// 第一种
Field[] fields = clazz.getDeclaredFields();
for(Field ff:fields)
if(f.equals(ff.getName()))
System.out.println("找到了");
// 第二种
try
clazz.getDeclaredField(f);
System.out.println("找到了");
catch (Exception e)
System.out.println("没有这个方法");
where一个字段中不存在某个字符,怎么写mysql判断语句
mysql中,要加个判断语句,
表 A 字段B
如何找出字段B没有包含[kid]或者[/kid]的数据
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式
not like 即表示不包含某条件
例子:
Persons 表:
Id LastName FirstName Address City
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York
3 Carter Thomas Changan Street Beijing
选取居住在不包含 "lon" 的城市里的人
SELECT * FROM Persons WHERE City NOT LIKE '%lon%'
结果集:
Id LastName FirstName Address City
2 Bush George Fifth Avenue New York
3 Carter Thomas Changan Street Beijing 参考技术A MYSQL不是SQLServer,MYSQL要使用LOCATE()或 INSTR()函数。
SELECT * FROM A WHERE LOCATE('[kid]',B)=0 and LOCATE('[/kid]',B)=0
--或者
SELECT * FROM A WHERE INSTR(B,'[kid]')=0 and INSTR(B,'[/kid]')=0
参考资料:http://www.phpv.net/html/1443.html
参考技术B select * from A where B not like '%[[]KID[]]%' and B not like '%[[]/KID[]]%'追问[] 这是什么字符,为什么要出现这个字符
追答以为你的查询内容包括了 中括号字符 ,所以用 [] 把所有的中括号字符括起来了,你测测试试,我只是写了,但是没测
追问查询的字符是 [/kid]和[/kide] 的确有中括号
追答结果对不对?
本回答被提问者采纳 参考技术C !=not in
not like
<> 参考技术D 同上,可以用like
或者用函数,substring,charindex。。等等
以上是关于JPA怎么判断一个字段是不是存在?的主要内容,如果未能解决你的问题,请参考以下文章