github地址:https://github.com/hzphzp/HeartTrace_Server 我们的服务器端数据库并没有用sqllite, 而是直接用mysql,并且用JDBC直接进行操作,故会出现比较多的sql底层代码,而且我们的数据库中一共有7张表, 如果每一个表都写对应的增加,删除, 更新和查询等操作的话,会有很庞大的代码量. 同时,在我们的设计中,服务器端的数据库功能比较单一,主要是配合同步方案进行设计的. 故,我这里选择使用Java的泛型和反射的机制来进行数据库操作和数据的…
反射 Class类 一个类被类加载器加载到内存之中,占有一片区域,这个空间里的内容就是类的字节码,不同的类的字节码是不一样的,这一个个空间页可以使用类来表示,这就是Class类. 根据这个概念可知:不同类对应的Class类是不一样的,同一类的不同对象对应的Class类则是一样的 九大预定义对象 这九大指的是基本的 Java 类型(boolean.byte.char.short.int.long.float 和 double)和关键字 void 也可以表示为 Class 对象,这里值得注意的一点是…
1.在这里有必要先提一句关于javabean,建议有一个构造器,而不是必须要写的,这是一个良好的习惯. 这样做肯定是有好处的,如果你的一个类写了带参的构造方法,而没有写空的构造方法,那么,如有有一个类继承了你这个类,那么这个类必须重写那个带参的构造方法,不写就会报错,所以这就会带来不必要的麻烦,所以我们一般都会写一个空的构造方法,这是一个良好的习惯. 以下是我使用泛型中,使用到的一个javabean,附上源码(其实没啥用,就是怕看的时候不知道User哪里的) package bean; publ…
由于自己也不是特别的理解,不能做过多的解释,因为这些是问过老师做出来的,我还没有学到这里.如果有解释错误的 指出来我改正一下.见谅~(如果学到这里了,会完善) 工具类(SQLUtil)核心代码: package edu.nf.homeWork.utils; import java.lang.reflect.Field; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet;…
一.反射进阶之动态设置类的私有域 "封装"是Java的三大特性之一,为了能更好保证其封装性,我们往往需要将域设置成私有的, 然后通过提供相对应的set和get方法来操作这个域.但是我们仍然可以用java的反射机制来 修改类的私有域,由于修改类的私有域会破坏Java"封装"的特性,故请慎重操作. 主要技术:     Field类提供有关类或接口的单个字段的信息,以及对它的动态访问权限.     访问的字段可能是一个类(静态)字段或实例字段.             常…
上篇博客写到了JDBC的基本操作,今天准备写一篇关于JAVA反射机制的文章,因为java的反射机制和上一篇JDBC都是Hibernate框架的基本要素.在Hibernate的运行机制中,这两块的内容正好是用来处理对象关系映射,所以这两篇博客是以后的学习的基础,非常重要. 反射机制的作用就是能够找到字段.方法和已加载类的构造函数的信息,并且能够应用反射域.方法和构造函数去操作各自的属性. 反射机制是java语言的非常重要的特性,它也是hibernate框架工作的核心机制,以前对个机制做过非常深入的…
JDBC是java和数据库的连接,是一种规范,提供java程序与数据库的连接接口,使用户不用在意具体的数据库.JDBC类型:类型1-JDBC-ODBC桥类型2-本地API驱动类型3-网络协议驱动类型4-本地协议驱动 类型四具有三层结构:1.JDBC API:提供java程序进行访问数据库的接口2.JDBC Driver Manager:管理JDBC Driver3.JDBC Driver :提供与不同·的数据库操作与连接 JDBC 一般支持两层处理模型,1.JDBC API:提供了应用程序对JD…
以前学习java数据库操作,学得那叫糊里糊涂,各种JDBC常用的类和接口根本是傻傻分不清啥是干嘛的.只是套着用用吧. 不过这次好歹清楚些了,呜呜,学习有阶段性,多次重复才有好效果,多么痛的领悟. 工程名字是瞎起的,本来想复习继承多态来着,(逃 然后再来说一下JDBC,JDBC是一种可用于执行SQL语句的Java API,是连接应用程序和数据库的纽带,可以为多种关系数据库提供统一访问,它由一组用java编写的类和接口组成.JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够…
Java的反射非常强大,传递class, 可以动态的生成该类.取得这个类的所有信息,包括里面的属性.方法以及构造函数等,甚至可以取得其父类或父接口里面的内容. obj.getClass().getDeclaredMethods();//取得obj类中自己定义的方法, 包括私有的方法. obj.getClass().getMethods();//取得obj类中自己定义的方法及继承过来的方法, 但私有方法得不到. 同样, 对field也是一样,obj.getClass().getDeclaredFi…
迷迷茫茫的开始了第一步.弄个hello word.结果这第一小步也不是那么的顺利. 明明照着图敲的.可就是没有运行选项. 为此还百度了一下.也没有什么答案.最后只能老老实实的看了.结果还是粗心的问题.Main里面必须要写参数.写了才会出运行. 控制台版的hello word搞定. 接下来开始web版的. 结果也不是那么顺利.页面没有出来.我这个人有个好处就是会从多方面思考.寻找原因 第一步想是不是tomcat没有启动.于是手动找到文件夹.start.没有启动成功.百度之.需要配置一下环境变量.然…