导航:首页 > 编程语言 > java获取字段类型

java获取字段类型

发布时间:2024-02-04 10:26:04

java如何获得一个对象中所有带set方法的字段(形成Field对象)包括父类的。有现成的工具类

在Java中 是获取不了对象里面的字段的(除非是一些固定写死的字段) ,但是可以利用反射获取set方法,进行赋值
具体可以参考一下代码
/**
*
* @param obj 赋值对象
* @param value 赋值的值
* @throws Exception
*/
public void setMethod(Object obj ,String value) throws Exception{
if (obj == null ) {
return;
}
Method[] methods = obj.getClass().getMethods();
for (int i = 0; i < methods.length; i++) {
Method method = methods[i];
String name = method.getName();
if(name.contains("set")){
method.invoke(obj,value);
}
}

}

Ⅱ java如何获得数据库表中各字段的字段名

Java获取数据库的表中各字段的字段名,代码如下:

importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.PreparedStatement;
importjava.sql.ResultSetMetaData;
importjava.sql.SQLException;
publicclassTestDemo{
(){
Connectionconn=null;
try{
Class.forName("com.mysql.jdbc.Driver");
Stringurl="jdbc:mysql://数据库IP地址:3306/数据库名称";
Stringuser="数据库用户名";
Stringpass="数据库用户密码";
conn=DriverManager.getConnection(url,user,pass);
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}catch(SQLExceptione){
e.printStackTrace();
}
returnconn;
}
publicstaticvoidmain(String[]args){
Connectionconn=getConnection();
Stringsql="select*fromAccessType";
PreparedStatementstmt;
try{
stmt=conn.prepareStatement(sql);
ResultSetrs=stmt.executeQuery(sql);
ResultSetMetaDatadata=rs.getMetaData();
for(inti=1;i<=data.getColumnCount();i++){
//获得所有列的数目及实际列数
intcolumnCount=data.getColumnCount();
//获得指定列的列名
StringcolumnName=data.getColumnName(i);
//获得指定列的列值
intcolumnType=data.getColumnType(i);
//获得指定列的数据类型名
StringcolumnTypeName=data.getColumnTypeName(i);
//所在的Catalog名字
StringcatalogName=data.getCatalogName(i);
//对应数据类型的类
StringcolumnClassName=data.getColumnClassName(i);
//在数据库中类型的最大字符个数
intcolumnDisplaySize=data.getColumnDisplaySize(i);
//默认的列的标题
StringcolumnLabel=data.getColumnLabel(i);
//获得列的模式
StringschemaName=data.getSchemaName(i);
//某列类型的精确度(类型的长度)
intprecision=data.getPrecision(i);
//小数点后的位数
intscale=data.getScale(i);
//获取某列对应的表名
StringtableName=data.getTableName(i);
//是否自动递增
booleanisAutoInctement=data.isAutoIncrement(i);
//在数据库中是否为货币型
booleanisCurrency=data.isCurrency(i);
//是否为空
intisNullable=data.isNullable(i);
//是否为只读
booleanisReadOnly=data.isReadOnly(i);
//能否出现在where中
booleanisSearchable=data.isSearchable(i);
System.out.println(columnCount);
System.out.println("获得列"+i+"的字段名称:"+columnName);
System.out.println("获得列"+i+"的类型,返回SqlType中的编号:"+columnType);
System.out.println("获得列"+i+"的数据类型名:"+columnTypeName);
System.out.println("获得列"+i+"所在的Catalog名字:"+catalogName);
System.out.println("获得列"+i+"对应数据类型的类:"+columnClassName);
System.out.println("获得列"+i+"在数据库中类型的最大字符个数:"+columnDisplaySize);
System.out.println("获得列"+i+"的默认的列的标题:"+columnLabel);
System.out.println("获得列"+i+"的模式:"+schemaName);
System.out.println("获得列"+i+"类型的精确度(类型的长度):"+precision);
System.out.println("获得列"+i+"小数点后的位数:"+scale);
System.out.println("获得列"+i+"对应的表名:"+tableName);
System.out.println("获得列"+i+"是否自动递增:"+isAutoInctement);
System.out.println("获得列"+i+"在数据库中是否为货币型:"+isCurrency);
System.out.println("获得列"+i+"是否为空:"+isNullable);
System.out.println("获得列"+i+"是否为只读:"+isReadOnly);
System.out.println("获得列"+i+"能否出现在where中:"+isSearchable);
}
}catch(SQLExceptione){
e.printStackTrace();
}
}
}

Ⅲ 如何用Java和oracle实现BLOB字段的字符串读取

Java能够调用Oracle的存储过程,反之Oracle也能用Java来开发外部槐敬存储过程,这样Java和oracle的相互界限就已经不明确了。Oracle实现BLOB字段的字符串读取也就非常容易了。

当然关系型数据库最好做自己应该做的事毕粗情而不是大包大铅数慎揽做所有的非数据库应该做的事情。

--开发Java类

以上代码均在PL/SQL developer中开发并调试通过,Java和Oracle实现BLOB字段的字符串读取很有意思。

阅读全文

与java获取字段类型相关的资料

热点内容
好程序员的生活视频 浏览:143
oppo外国的app在哪里下载 浏览:614
windows下mysql命令 浏览:923
冰箱压缩机制冷剂与润滑 浏览:988
在线充值平台源码 浏览:527
数字图像处理冈pdf 浏览:380
荣耀v6怎么隐藏桌面文件夹 浏览:798
程序员有女的吗 浏览:504
通讯服务器中断是为什么 浏览:644
itextpdf乱码 浏览:641
哪个app制作书法壁纸 浏览:196
暗梁支坐是否加密 浏览:341
51单片pdf 浏览:688
matlab编程习题 浏览:64
腾达wifi加密方式 浏览:121
ug平移命令 浏览:768
钉钉语音通话安全加密有什么特征 浏览:609
网购领券app哪个好靠谱 浏览:618
人民币数字加密币转账支付货币 浏览:634
怎么用cat命令创建mm 浏览:689