java-使用反射实现ORM映射
自定义两个注解
package com.moon.ROM; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target; @Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface SexFileAnnotation {
String name();
String type();
int length(); }
package com.moon.ROM; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target; @Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface SexTable {
String value(); }
package com.moon.ROM;
@SexTable("tb_student")
public class SxtStudent {
@SexFileAnnotation(name ="studentName" ,type = "vachar",length = 10)
private String studentName;
@SexFileAnnotation(name="age",type = "int",length = 3)
private int age;
@SexFileAnnotation(name = "id",type = "int",length = 5)
private int id; public String getStudentName() {
return studentName;
} public void setStudentName(String studentName) {
this.studentName = studentName;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public int getId() {
return id;
} public void setId(int id) {
this.id = id;
}
}
 package com.moon.ROM;
 import java.lang.reflect.Field;
 public class Test {
     public static void main(String[] args) {
         try {
             Class clazz = Class.forName("com.moon.ROM.SxtStudent");
 //            Annotation[] annotations = clazz.getAnnotations();
            /* for (Annotation annotation : annotations) {
                 System.out.println(annotation);
             }*/
            SexTable st = (SexTable) clazz.getAnnotation(SexTable.class);
             Field f = clazz.getDeclaredField("studentName");
             SexFileAnnotation sexf = f.getAnnotation(SexFileAnnotation.class);
             System.out.println(sexf.name()+"---"+sexf.type()+"---"+sexf.length());
         } catch (Exception e) {
             e.printStackTrace();
         }
     }
 }
java-使用反射实现ORM映射的更多相关文章
- Java 自定义注解实现ORM对象关系映射
		一,ORM概念 ORM即Object Relation Mapping,Object就是对象,Relation就是关系数据库,Mapping映射,就是说Java中的对象和关系数据库中的表存在一种对应关 ... 
- 点评阿里JAVA手册之MySQL数据库 (建表规约、索引规约、SQL语句、ORM映射)
		下载原版阿里JAVA开发手册 [阿里巴巴Java开发手册v1.2.0] 本文主要是对照阿里开发手册,注释自己在工作中运用情况. 本文内容:MySQL数据库 (建表规约.索引规约.SQL语句.ORM映 ... 
- C#根据反射和特性实现ORM映射实例分析
		本文实例讲述了C#根据反射和特性实现ORM 映射的方法.分享给大家供大家参考.具体如下: (一)关于反射 什么是反射? 反射就是在运行时,动态获取对象信息的方法.比如:运行时获得对象有哪些属性,方法, ... 
- java基础强化——深入理解java注解(附简单ORM功能实现)
		目录 1.什么是注解 2. 注解的结构以及如何在运行时读取注解 2.1 注解的组成 2.2 注解的类层级结构 2.3 如何在运行时获得注解信息 3.几种元注解介绍 3.1 @Retention 3.2 ... 
- orm映射 封装baseDao
		是用orm映射封装自己封装dao层 思路:通过映射获得实体类的属性拼接sql语句 import java.lang.reflect.Field; import java.lang.reflect.In ... 
- java笔记--反射机制之基础总结与详解
		一.反射之实例化Class类的5种方式: java的数据类型可以分为两类,即引用类型和原始类型(即基本数据类型). 对于每种类型的对象,java虚拟机会实例化不可变的java.lang.Class对象 ... 
- Java高新技术 反射机制
		 Java高新技术 反射机制 知识概要: (1)反射的基石 (2)反射 (3)Constructor类 (4)Field类 (5)Method类 (6)用反射方 ... 
- Java基础-反射(reflect)技术详解
		Java基础-反射(reflect)技术详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.类加载器 1>.JVM 类加载机制 如下图所示,JVM类加载机制分为五个部分 ... 
- 【转】java原理—反射机制
		一.什么是反射:反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力.这一概念的提出很快引发了计算机科学领域关于应用反射性的研究.它首先被程序语言 ... 
随机推荐
- [bzoj4006][JLOI2015]管道连接_斯坦纳树_状压dp
			管道连接 bzoj-4006 JLOI-2015 题目大意:给定一张$n$个节点$m$条边的带边权无向图.并且给定$p$个重要节点,每个重要节点都有一个颜色.求一个边权和最小的边集使得颜色相同的重要节 ... 
- File类   判断功能和获取功能
			package cn.zmh.File; import java.io.File; /* * * File判断功能 * * */ public class FileDemo3判断功能 { public ... 
- FIREDAC保存ORACLE的BLOB字段数据
			FIREDAC默认识别ORACLE的BLOB字段为HUGEBLOB,需要将HBLOB映射为BLOB,才可以保存ORACLE的BLOB字段的数据. 
- ITIL的考核管理体系
			是的,我们ITIL的考核管理体系,大概是从几个方面进行考核的.阿里巴巴作为一个上市公司,是全球的B2B电子商务的领先者,那么作为我们的运维部,保证完整的可用性是首当其冲的.我们的ITIL考核体系里面, ... 
- [Javascript] Use JavaScript's for-in Loop on Objects with Prototypes
			Loops can behave differently when objects have chained prototype objects. Let's see the difference w ... 
- 成员函数指针  C++ FAQ LITE — Frequently Asked Questions
			http://www.sunistudio.com/cppfaq/pointers-to-members.html C++ FAQ LITE — Frequently Asked Questions ... 
- Memcache应用场景介绍
			面临的问题 对于高并发高訪问的Web应用程序来说,数据库存取瓶颈一直是个令人头疼的问题.特别当你的程序架构还是建立在单数据库模式,而一个数据池连接数峰 值已经达到500的时候,那你的程序执行离崩溃的边 ... 
- EXCEPT(差集)集合运算
			在集合论中,集合A与B的差集(A-B)是由属于集合A,但不属于集合B的元素组成的集合.可以认为两个集合的差A-B就是从A中减去B中也属于A的元素. 在T-SQL中,集合之差是用EXCEPT集合运算实现 ... 
- 【手记】小心在where中使用NEWID()的大坑  【手记】解决启动SQL Server Management Studio 17时报Cannot find one of more components...的问题  【C#】组件分享:FormDragger窗体拖拽器  【手记】注意BinaryWriter写string的小坑——会在string前加上长度前缀length-prefixed
			[手记]小心在where中使用NEWID()的大坑 这个表达式: ABS(CHECKSUM(NEWID())) % 3 --把GUID弄成正整数,然后取模 是随机返回0.1.2这三个数,不可能返回其它 ... 
- 3.2.1 配置构建Angular应用——简单的笔记存储应用——展示功能
			本节我们会通过构建一个简单的笔记存储应用(可以载入并修改一组简单的笔记)来学习如何应用Angular的特性.这个应用用到的特性有: 在JSON文件中存储笔记 展示.创建.修改和删除笔记 在笔记中使用M ... 
