java 反射写的 通用DAO 类
最近 学习 反射,又在 做一个 web 网站,为了 减少代码,代码重用写了这个dao,效率,没有 每一个表写一个 dao 快。
不知道,这样写是否有用,希望大家,多多给予 指正(代码中的 不足,以及对这个 dao的 用处)
//DAO.java
package com.dreaming.util;
import java.util.ArrayList;
import java.util.LinkedHashMap;
public interface DAO {
/**
* 获取总记录总数
*
* @param entityClass
* 实体类
* @return
*/
public <T> long getCount(Class<T> entityClass);
public <T> long getCount(Class<T> entityClass, String wherejpql,
Object[] queryParams);
/**
* 保存实体
*
* @param entity
*/
public void save(Object entity);
/**
* 更新
*
* @param obj
*/
public void update(Object entity,String[] primaryKeys);
public void update(Object entity,String primaryKey);
/**
* 删除单个
* @param <T>
* @param entityClass
* @param primaryKeys
* @param entityid
*/
public <T> void delete(Class<T> entityClass, String primaryKeys,Object entityid);
public <T> void delete(Class<T> entityClass, String[] primaryKeys,Object[] entityid);
public <T> void deletes(Class<T> entityClass, String primaryKeys,Object[] entityids);
/**
* 删除数组
* @param <T>
* @param entityClass
* @param primaryKeys 数据表 主键数组
* @param entityids 主键值
*/
public <T> void deletes(Class<T> entityClass, String[] primaryKeys,Object[][] entityids);
/**
* 得到实体
*
* @param <T>
* @param entityClass
* 实体类
* @param entityId
* 实体id
* @return
*/
public <T> T find(Class<T> entityClass, String primaryKey,Object entity);
/**
* 获取分页数据
*
* @param <T>
* @param entityClass
* 实体类
* @param firstindex
* 开始索引
* @param maxresult
* 需要获取的记录数
* @return
*/
public <T> ArrayList<T> getS
相关文档:
1.List转换成为数组。(这里的List是实体是ArrayList)
调用ArrayList的toArray方法。
例:String[] arr = (String[])list.toArray(new String[size]);
2.数组转换成为List。
调用Arrays的asList方法。
例:List stooges = Arrays.asList("Larry", "Moe", "Curly"); ......
这是一个用JAVA W3C DOM 进行XML操作的例子,包含了查询、增加、修改、删除、保存的基本操作。较完整的描述了一个XML的整个操作流程。适合刚入门JAVA XML操作的朋友参考和学习。
假设有XML文件:test1.xml
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book>
< ......
一、什么是Java虚拟机
当你谈到Java虚拟机时,你可能是指:
1、抽象的Java虚拟机规范
2、一个具体的Java虚拟机实现
3、一个运行的Java虚拟机实例
二、Java虚拟机的生命周期
一个运行 ......
1 网络通信的本质是进程间通信。
2 Tcp协议和UDP协议
TCP:开销大,用于可靠性要求高的场合。
TCP的过程相当于打电话的过程
UDP:用在对实时性要求比较高的场合。
UDP的过程相当于写信的过程。
注意:socket是套接字,ip和port(端口号 0~65535个端口,一个端口只能有一个进程)
3,   ......