
正文
java获取字段值代码 java中获取字符串长度的方法
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java获取注解的值
很多朋友都想知道java怎么获取注解的值?下面就一起来了解一下吧~
1、定义一个注解java获取字段值代码,用于给全局变量field字段赋值
package com.haha.study.annotation.value; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * description: 定义一个注解java获取字段值代码,用于给 全局变量 field 字段 赋值,并使用反射取值。
* 特别提醒: @Rentention(RetentionPolicy.RUNTIME) 时,注解才会被jvm加载,才能使用反射获取。 * @version v1.0 * @author w * @date 2018年8月1日下午2:37:40 */ @Documented @Retention(RetentionPolicy.RUNTIME) @Target(value=ElementType.FIELD) public @interface Fields { int sort() default 0 ; String value() ; }
2、创建一个普通的类,使用 @ConsAnnotation、@Fields 注解
package com.haha.study.annotation.value; /** * description: 创建一个普通的类,使用 @ConsAnnotation、@Fields 注解。 * @version v1.0 * @author w * @date 2018年8月1日下午2:50:23 */ @ConsAnnotation(request = { "hello","world","annotation!" }) public class User { @Fields("中华人民共和国") private String userName; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } }
3、针对 com.haha.study.annotation.value.User 类使用注解的测试
package com.haha.study.annotation.value; import java.lang.reflect.Field; import java.util.Arrays; /** * description: 针对 com.haha.study.annotation.value.User 类使用注解的测试 * @version v1.0 * @author w * @date 2018年8月1日下午2:37:13 */ public class ValueTest { public static void main(String[] args) throws Exception { User user = new User(); // 1、 获取 User类上的注解 @ConsAnnotation ConsAnnotation anno = user.getClass().getAnnotation(ConsAnnotation.class); String[] arr = anno.request(); System.out.println(Arrays.toString(arr)); // [hello, world, annotation!] // 2、 获取User类中 private String userName; 变量上的注解 @Field Field f = user.getClass().getDeclaredField("userName"); Fields anno2 = f.getAnnotation(Fields.class); user.setUserName(anno2.value()); System.out.println(user.getUserName()); // 中华人民共和国 } }
相关问答
Q1: java中定义一个类,主要从数据库中获取字段怎么编写
首先连接数据库,你也没说什么数据库,给你三种连接,
package com.cai.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties ;
public class ConnectionUtil {
/**
* 1
*在方法中固化连接参数
* @return 数据库连接
*/
public Connection getConnection(){
Connection conn = null ;
try{
Class.forName("com.mysql.jdbc.Driver") ;
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/stud", "root", "root") ;
return conn ;
}catch(Exception e){
e.printStackTrace() ;
}
return null ;
}
/**
* 2
*通过方法参数方式传递连接参数
* @return 数据库连接
*/
public Connection getConnection(String driver, String url, String user, String password){
Connection conn = null ;
try{
Class.forName(driver) ;
conn = DriverManager.getConnection(url, user, password) ;
return conn ;
}catch(Exception e){
e.printStackTrace();
}
return null ;
}
/**
* 3
*通过properties配置文件的方式灵活配置连接参数,properties中的属性名固化
* @return 数据库连接
*/
public Connection openConnection(){
Connection conn = null ;
String driver = "" ;
String url = "" ;
String user = "" ;
String password = "" ;
Properties props = new Properties() ;
try{
props.load(this.getClass().getClassLoader().getResourceAsStream("DBConfig.properties")) ;
driver = props.getProperty("driver") ;
url = props.getProperty("url") ;
user = props.getProperty("user") ;
password = props.getProperty("password") ;
Class.forName(driver) ;
conn = DriverManager.getConnection(url, user, password) ;
return conn ;
}catch(Exception e){
e.printStackTrace() ;
}
return null ;
}
public static void main(String []args){
ConnectionUtil cu = new ConnectionUtil() ;
System.out.println("1、----" + cu.getConnection()) ;
System.out.println("2、----" + cu.getConnection("com.mysql.jdbc.Driver",
"jdbc:mysql://localhost:3306/stud", "root", "root")) ;
System.out.println("3、----" + cu.openConnection()) ;
}
}
连接上数据库就可以操作数据了,在写sql语句 根据sql执行就有返回相应字段值了
Q2: 求一段JAVA代码要求如下 获取输入的字段和数据库中的比较如果没有就把该字段存入数据库 数据库 STUDENT
这个是重复java获取字段值代码的验证java获取字段值代码,你可以在jsp页面通过Ajaxjava获取字段值代码,将输入java获取字段值代码的值传到后台Action,在Action里把该值放入查询语句到数据库进行查询,进行重复判断。
js代码如下java获取字段值代码:
var f = document.forms[0];
$("#role_name").blur(function(){
if(null == f.role_name.value){
return ;
}
$.ajax({
type: "POST",
url: "RoleInfo.do",
data: "method=validateRolenameid=${af.map.id}role_name=" + f.role_name.value,
dataType: "json",
error: function(request, settings) {},
success: function(oper) {
if(oper.result){
$("#role_name").val("");
alert("系统已存在此角色");
f.role_name.focus();
}else {
return;
}
}
});
Action代码:
public ActionForward validateRolename(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
DynaBean dynaBean = (DynaBean) form;
StringBuffer oper = new StringBuffer("{result:");
String role_name = (String) dynaBean.get("role_name");
//String id = (String) dynaBean.get("id");
if (!StringUtils.isBlank(role_name)) {
RoleInfo ri = new RoleInfo();
ri.setRole_name(role_name);
//if(null != id){
ri.getMap().put("id_not_in",(String) dynaBean.get("id"));
//}
ri = super.getFacade().getRoleInfoService().getRoleInfo(ri);
if (null == ri) {
oper.append(false);
} else {
oper.append(true);
}
} else {
oper.append("error");
}
oper.append("}");
super.render(response, oper.toString(), "text/x-json;charset=UTF-8");
return null;
}
Q3: java怎样读取数据库表中字段的数据类型
Java获取数据库的表中各字段的字段名,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.PreparedStatement;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
public class TestDemo {
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://数据库IP地址:3306/数据库名称";
String user = "数据库用户名";
String pass = "数据库用户密码";
conn = DriverManager.getConnection(url, user, pass);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public static void main(String[] args) {
Connection conn = getConnection();
String sql = "select * from AccessType";
PreparedStatement stmt;
try {
stmt = conn.prepareStatement(sql);
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData data = rs.getMetaData();
for (int i = 1; i = data.getColumnCount(); i++) {
// 获得所有列的数目及实际列数
int columnCount = data.getColumnCount();
// 获得指定列的列名
String columnName = data.getColumnName(i);
// 获得指定列的列值
int columnType = data.getColumnType(i);
// 获得指定列的数据类型名
String columnTypeName = data.getColumnTypeName(i);
// 所在的Catalog名字
String catalogName = data.getCatalogName(i);
// 对应数据类型的类
String columnClassName = data.getColumnClassName(i);
// 在数据库中类型的最大字符个数
int columnDisplaySize = data.getColumnDisplaySize(i);
// 默认的列的标题
String columnLabel = data.getColumnLabel(i);
// 获得列的模式
String schemaName = data.getSchemaName(i);
// 某列类型的精确度(类型的长度)
int precision = data.getPrecision(i);
// 小数点后的位数
int scale = data.getScale(i);
// 获取某列对应的表名
String tableName = data.getTableName(i);
// 是否自动递增
boolean isAutoInctement = data.isAutoIncrement(i);
// 在数据库中是否为货币型
boolean isCurrency = data.isCurrency(i);
// 是否为空
int isNullable = data.isNullable(i);
// 是否为只读
boolean isReadOnly = data.isReadOnly(i);
// 能否出现在where中
boolean isSearchable = 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 (SQLException e) {
e.printStackTrace();
}
}
}
Q4: Java怎么获取List中的一个值,不是长度,是List中一个字段的值
ListString list = new ArrayListString();
list.add("aaa");
list.add("bbb");
list.add("ccc");
方法一:
超级for循环遍历
for(String attribute : list) {
System.out.println(attribute);
}
方法二:
对于ArrayList来说速度比较快, 用for循环, 以size为条件遍历:
for(int i = 0 ; i list.size() ; i++) {
system.out.println(list.get(i));
}
方法三:
集合类的通用遍历方式, 从很早的版本就有, 用迭代器迭代
Iterator it = list.iterator();
while(it.hasNext()) {
System.ou.println(it.next);
}
Q5: java如何从List中取值
要从一个List中取值java获取字段值代码,可以使用get()方法来获取指定索引位置的元素。在java获取字段值代码你提供的代码中,generatePonits()方法返回的是一个String类型的List,包含多个由随机生成的坐标组成的字符串。
如果你想要在另一个方法中分别提取出两个随机数,可以先通过get()方法获取对应索引位置的坐标字符串,然后再将其解析为数字。具体步骤如下:
```java
// 获取generatePonits()方法随机生成的第一个坐标字符串,并将其解析为数字
String point1Str = generatePonits().get(0);
int x1 = Integer.parseInt(point1Str.substring(1, point1Str.indexOf(",")));
int y1 = Integer.parseInt(point1Str.substring(point1Str.indexOf(",") + 1, point1Str.length() - 1));
// 获取generatePonits()方法随机生成的第二个坐标字符串,并将其解析为数字
String point2Str = generatePonits().get(1);
int x2 = Integer.parseInt(point2Str.substring(1, point2Str.indexOf(",")));
int y2 = Integer.parseInt(point2Str.substring(point2Str.indexOf(",") + 1, point2Str.length() - 1));
```
以上代码假设你想要获取generatePonits()方法随机生成的第一个和第二个坐标,并将它们包含的x和y坐标分别解析为整数。这里使用了String类的substring()方法来截取坐标字符串中的x和y坐标部分,并用Integer类的parseInt()方法将它们解析为整数。需要注意的是,由于坐标字符串的格式是"(x,y)",因此在使用substring()方法时需要去掉开头的"("和结尾的")"。
当然,如果你仅仅只是想在generatePonits()方法和另一个方法之间传递生成的随机数,也可以考虑将它们定义为类成员变量,而不是在generatePonits()方法内部声明。这样就可以在不同的方法之间共享这些随机数了。
java获取字段值代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java中获取字符串长度的方法、java获取字段值代码的信息别忘了在本站进行查找喔。







