JAVA对REDIS数据库的操作
package redis;import redis.clients.jedis.Jedis;
public class BaseBO {
private static final String SYSKEY = "0000:";
public Jedis getJedis(){
return XedisClient.getClient();
}
public static String genSys(Object...objects){
return SYSKEY+XedisClient.genKey(objects);
}
public static Object getBean(String key, Object obj) throws Exception{
return XedisClient.getBean(key, obj);
}
public static String setBean(String key, Object obj) throws Exception{
return XedisClient.setBean(key, obj);
}
}
package redis;import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;public class JedisPool2 extends JedisPool{
</span><span style="color: rgba(0, 0, 255, 1)">public</span> JedisPool2(JedisPoolConfig config,String url,<span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> port){ </span><span style="color: rgba(0, 0, 255, 1)">super</span><span style="color: rgba(0, 0, 0, 1)">(config, url,port); }
}
package redis;import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;import org.apache.commons.beanutils.ConvertUtilsBean;
import net.sf.json.JSONObject;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPoolConfig;
import redis.clients.jedis.exceptions.JedisConnectionException;public class XedisClient {
</span><span style="color: rgba(0, 0, 255, 1)">private</span> <span style="color: rgba(0, 0, 255, 1)">static</span> JedisPool2 pool = <span style="color: rgba(0, 0, 255, 1)">new</span> JedisPool2(<span style="color: rgba(0, 0, 255, 1)">new</span> JedisPoolConfig(),"127.0.1",6379<span style="color: rgba(0, 0, 0, 1)">); </span><span style="color: rgba(0, 0, 255, 1)">private</span> <span style="color: rgba(0, 0, 255, 1)">static</span> ThreadLocal<Jedis> myClient = <span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> ThreadLocal(); </span><span style="color: rgba(0, 0, 255, 1)">private</span> <span style="color: rgba(0, 0, 255, 1)">static</span> <span style="color: rgba(0, 0, 255, 1)">int</span> reset = 3<span style="color: rgba(0, 0, 0, 1)">; </span><span style="color: rgba(0, 0, 255, 1)">private</span> <span style="color: rgba(0, 0, 255, 1)">static</span> Map<String, Field[]> clsMap = <span style="color: rgba(0, 0, 255, 1)">new</span> HashMap<String, Field[]><span style="color: rgba(0, 0, 0, 1)">(); </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">从线程池中获取实例,如果没有就从连接池中获取实例</span> <span style="color: rgba(0, 0, 255, 1)">private</span> <span style="color: rgba(0, 0, 255, 1)">static</span><span style="color: rgba(0, 0, 0, 1)"> Jedis myClient(){ </span><span style="color: rgba(0, 0, 255, 1)">int</span> count = 0<span style="color: rgba(0, 0, 0, 1)">; Jedis jedis </span>= <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">; </span><span style="color: rgba(0, 0, 255, 1)">while</span>(jedis==<span style="color: rgba(0, 0, 255, 1)">null</span> && count<3<span style="color: rgba(0, 0, 0, 1)">){ </span><span style="color: rgba(0, 0, 255, 1)">try</span><span style="color: rgba(0, 0, 0, 1)">{ jedis </span>=<span style="color: rgba(0, 0, 0, 1)"> myClient.get(); </span><span style="color: rgba(0, 0, 255, 1)">if</span>(jedis ==<span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">){ jedis </span>=<span style="color: rgba(0, 0, 0, 1)"> getClient(); myClient.set(jedis); } }</span><span style="color: rgba(0, 0, 255, 1)">catch</span><span style="color: rgba(0, 0, 0, 1)">(JedisConnectionException e){ returnBrokenResource(jedis); </span><span style="color: rgba(0, 0, 255, 1)">try</span><span style="color: rgba(0, 0, 0, 1)">{ Thread.sleep(</span>3000<span style="color: rgba(0, 0, 0, 1)">); }</span><span style="color: rgba(0, 0, 255, 1)">catch</span><span style="color: rgba(0, 0, 0, 1)">(InterruptedException e1){ e1.printStackTrace(); } } } </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> jedis; } </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">从连接池中获取实例</span> <span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">static</span><span style="color: rgba(0, 0, 0, 1)"> Jedis getClient(){ </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> pool.getResource(); } </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">将Jedis对象使用后返回给连接池</span> <span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">static</span> <span style="color: rgba(0, 0, 255, 1)">void</span><span style="color: rgba(0, 0, 0, 1)"> returnBrokenResource(Jedis j){ pool.returnBrokenResource(j); } </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">在用完连接池时,要手动关闭</span> <span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">static</span> <span style="color: rgba(0, 0, 255, 1)">void</span><span style="color: rgba(0, 0, 0, 1)"> closePool(){ pool.destroy(); } </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获取参数组合后的键结构</span> <span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">static</span><span style="color: rgba(0, 0, 0, 1)"> String genKey(Object...objects){ StringBuffer sb </span>= <span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> StringBuffer(); </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)">(Object o:objects){ </span><span style="color: rgba(0, 0, 255, 1)">if</span>(sb.length()>0<span style="color: rgba(0, 0, 0, 1)">){ sb.append(</span>":"<span style="color: rgba(0, 0, 0, 1)">); } sb.append(o); } </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> sb.toString(); } </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获取实例</span> <span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">static</span> Object getBean(String key, Object obj) <span style="color: rgba(0, 0, 255, 1)">throws</span><span style="color: rgba(0, 0, 0, 1)"> Exception{ map2obj(myClient().hgetAll(key),obj); </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> obj; } </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">保存实例</span> <span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">static</span> String setBean(String key, Object obj) <span style="color: rgba(0, 0, 255, 1)">throws</span><span style="color: rgba(0, 0, 0, 1)"> Exception{ String ret </span>=<span style="color: rgba(0, 0, 0, 1)"> myClient().hmset(key, obj2map(obj)); </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> ret; } </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">将获取的实例转换为对象</span> <span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">static</span> <span style="color: rgba(0, 0, 255, 1)">void</span> map2obj(Map<String, String> map,Object obj) <span style="color: rgba(0, 0, 255, 1)">throws</span><span style="color: rgba(0, 0, 0, 1)"> Exception{ </span><span style="color: rgba(0, 0, 255, 1)">if</span>(map==<span style="color: rgba(0, 0, 255, 1)">null</span>||<span style="color: rgba(0, 0, 0, 1)"> map.isEmpty()){ </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)">; } </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">构建类型转换器</span> ConvertUtilsBean cub = <span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> ConvertUtilsBean(); </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">利用反射机制获取对象的类</span> Class clazz =<span style="color: rgba(0, 0, 0, 1)"> obj.getClass(); </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获取已存的对象的字段</span> Field[] fieldlist =<span style="color: rgba(0, 0, 0, 1)"> clsMap.get(clazz.getName()); </span><span style="color: rgba(0, 0, 255, 1)">if</span>(fieldlist==<span style="color: rgba(0, 0, 255, 1)">null</span>){<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">如果没有该类的对应值则重新添加</span> fieldlist =<span style="color: rgba(0, 0, 0, 1)"> clazz.getDeclaredFields(); clsMap.put(clazz.getName(), fieldlist); } </span><span style="color: rgba(0, 0, 255, 1)">for</span>(<span style="color: rgba(0, 0, 255, 1)">int</span> i=0;i<fieldlist.length;i++<span style="color: rgba(0, 0, 0, 1)">){ Field field </span>=<span style="color: rgba(0, 0, 0, 1)"> fieldlist[i]; String value </span>=<span style="color: rgba(0, 0, 0, 1)"> map.get(field.getName()); Object val; </span><span style="color: rgba(0, 0, 255, 1)">if</span>(value==<span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">){ </span><span style="color: rgba(0, 0, 255, 1)">continue</span><span style="color: rgba(0, 0, 0, 1)">; } val </span>=<span style="color: rgba(0, 0, 0, 1)"> cub.convert(value, field.getType()); field.set(obj, val); } } </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">将实例转换为字符串</span> <span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">static</span> Map<String, String> obj2map(Object obj) <span style="color: rgba(0, 0, 255, 1)">throws</span><span style="color: rgba(0, 0, 0, 1)"> Exception{ Map</span><String, String> map = <span style="color: rgba(0, 0, 255, 1)">new</span> HashMap<String, String><span style="color: rgba(0, 0, 0, 1)">(); </span><span style="color: rgba(0, 0, 255, 1)">if</span>(obj == <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">){ </span><span style="color: rgba(0, 0, 255, 1)">return</span> <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">; } Class clazz </span>=<span style="color: rgba(0, 0, 0, 1)"> obj.getClass(); </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">声明类中public、private和protected的所有字段</span> Field[] fieldlist =<span style="color: rgba(0, 0, 0, 1)"> clsMap.get(clazz.getName()); </span><span style="color: rgba(0, 0, 255, 1)">if</span>(fieldlist==<span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">){ fieldlist </span>=<span style="color: rgba(0, 0, 0, 1)"> clazz.getDeclaredFields(); clsMap.put(clazz.getName(), fieldlist); } </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">定义转换工具</span> ConvertUtilsBean cub = <span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> ConvertUtilsBean(); </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获取实例对象的字段值</span> <span style="color: rgba(0, 0, 255, 1)">for</span>(<span style="color: rgba(0, 0, 255, 1)">int</span> i=0;i<fieldlist.length;i++<span style="color: rgba(0, 0, 0, 1)">){ Field field </span>=<span style="color: rgba(0, 0, 0, 1)"> fieldlist[i]; Object value </span>=<span style="color: rgba(0, 0, 0, 1)"> field.get(obj); </span><span style="color: rgba(0, 0, 255, 1)">if</span>(value == <span style="color: rgba(0, 0, 255, 1)">null</span> ||<span style="color: rgba(0, 0, 0, 1)"> value.getClass().isArray()){ </span><span style="color: rgba(0, 0, 255, 1)">continue</span><span style="color: rgba(0, 0, 0, 1)">; } map.put(field.getName(), cub.convert(value)); } </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> map; }
}
package dao;import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;import entity.Grades;
import entity.Student;
import entity.Teacher;
import net.sf.json.JSONObject;
import redis.BaseBO;public class RedisDao extends BaseBO{
public static void main(String[] args) throws Exception{
RedisDao dao = new RedisDao();
Student stu = new Student();
}</span><span style="color: rgba(0, 0, 255, 1)">private</span> <span style="color: rgba(0, 0, 255, 1)">static</span> <span style="color: rgba(0, 0, 255, 1)">final</span> String H_TEA = "H_TEACHER"<span style="color: rgba(0, 0, 0, 1)">; </span><span style="color: rgba(0, 0, 255, 1)">private</span> <span style="color: rgba(0, 0, 255, 1)">static</span> <span style="color: rgba(0, 0, 255, 1)">final</span> String H_STU = "H_STUDENT"<span style="color: rgba(0, 0, 0, 1)">; </span><span style="color: rgba(0, 0, 255, 1)">private</span> <span style="color: rgba(0, 0, 255, 1)">static</span> <span style="color: rgba(0, 0, 255, 1)">final</span> String H_GRA = "H_GRADE"<span style="color: rgba(0, 0, 0, 1)">; </span><span style="color: rgba(0, 0, 255, 1)">private</span> <span style="color: rgba(0, 0, 255, 1)">static</span> <span style="color: rgba(0, 0, 255, 1)">final</span> String H_EMP = "H_EMPLOYEES"<span style="color: rgba(0, 0, 0, 1)">; </span><span style="color: rgba(0, 0, 255, 1)">private</span> <span style="color: rgba(0, 0, 255, 1)">static</span> <span style="color: rgba(0, 0, 255, 1)">final</span> String H_COM = "H_COMPANY"<span style="color: rgba(0, 0, 0, 1)">; </span><span style="color: rgba(0, 0, 255, 1)">private</span> <span style="color: rgba(0, 0, 255, 1)">static</span> <span style="color: rgba(0, 0, 255, 1)">final</span> String H_DEPT = "H_DEPT"<span style="color: rgba(0, 0, 0, 1)">;
/哈希表的操作:field+value、field+value(包括 list)/
//添加实例 field+value+ 使用 hmset() 函数
public boolean saveStudent(Student stu) throws Exception{
boolean flag = false;
String result = setBean(genSys(H_STU,stu.getStuid()),stu);
if(result == null){
return flag;
}
flag = true;
return flag;
}
//添加实例 field+value(list)+ 使用 hset() 函数
public boolean saveGrades(Grades gra) throws Exception{
boolean flag = false;
JSONObject jsonobj = JSONObject.fromObject(gra);
getJedis().hset(genSys(H_GRA), gra.getName(), jsonobj.toString());
flag = true;
return flag;
}
//多实例查询每个实例一个 field
public Map<String,String> findGrades(){
return getJedis().hgetAll(genSys(H_GRA));
}
//单个实例查询每个实例一个 field
public String findGrade(String field){
String jsonobj = getJedis().hget(genSys(H_GRA), field);
return jsonobj;
}
//单实例查询每个实例有多个 field
public Student findStudent(String key) throws Exception{
Student stu = new Student();
return (Student) getBean(genSys(H_STU,key),stu);
}
//更新数据
public boolean updateStudent(Student stu) throws Exception{
boolean flag = false;
String result = setBean(genSys(H_STU,stu.getStuid()),stu);
if(result==null){
flag = true;
}
return flag;
}
//删除实例中的信息
public boolean deleteStudent(int id,String name){
boolean flag = false;
getJedis().hdel(genSys(H_STU,id),name);
return flag;
}/list 的操作/
//添加实例 + 在结尾处加入元素
public void saverightstuid(String key,String id){
getJedis().rpush(genSys(H_EMP,key), id);
}
//添加实例 + 在开始处加入元素
public void saveleftstuid(String key,String id){
getJedis().lpush(genSys(H_EMP,key), id);
}
//删除实例并返回实例从左侧
public String deleteleftStuid(String key){
return getJedis().lpop(genSys(H_EMP,key));
}
//删除元素从右侧
public String deleterightStuid(String key){
return getJedis().rpop(genSys(H_EMP,key));
}
//查询实例
public List<String> findStuid(String key, int start, int end){
return getJedis().lrange(genSys(H_EMP,key), start, end);
}
//获取单实例
public String findSingleStuid(String key, int index){
return getJedis().lindex(genSys(H_EMP,key), index);
}
//保留一定数量的元素
public void keepStuid(String key, int start, int end){
getJedis().ltrim(genSys(H_EMP,key), start, end);
}
//更新实例
public void updateStuid(String key, int index, String value){
getJedis().lset(genSys(H_EMP,key), index, value);
}/Set 的操作/
//添加元素
public void saveCompany(String key,String menber){
getJedis().sadd(genSys(H_COM,key), menber);
}
//添加多个元素
public void saveCompanys(String key,String[] menbers){
getJedis().sadd(genSys(H_COM,key), menbers);
}
//查询 key 中的全部元素
public Set<String> findCompanySet(String key){
Set<String> set = getJedis().smembers(genSys(H_COM,key));
return set;
}
//删除元素
public void deleteCompany(String key,String menber){
getJedis().srem(genSys(H_COM,key), menber);
}
//删除一个键
public void deleteCompanys(String key){
getJedis().del(genSys(H_COM,key));
}/Sorted Set 的操作/
//添加单个元素
public void saveDept(String key, int score, String menber){
getJedis().zadd(genSys(H_DEPT,key), score, menber);
}
//添加多个元素
public void saveDepts(String key, Map<Double, String> map){
getJedis().zadd(genSys(H_DEPT,key), map);
}
//查询单个元素
public String findDept(String key, int score){
Set<String> set = getJedis().zrange(genSys(H_DEPT,key), score, score+1);
String dept = set.iterator().next();
return dept;
}
//查询键的多个元素
public Set<String> findDepts(String key, int start, int end){
Set<String> set = getJedis().zrange(genSys(H_DEPT,key), start, end);
return set;
}
//删除一个键的多个元素通过 index 删除
public void deleteDepts(String key, int start, int end){
getJedis().zremrangeByRank(genSys(H_DEPT,key), start, end);
}
//删除一个键的多个元素通过 score
public void deleteDeptByScore(String key, int start, int end){
getJedis().zremrangeByScore(genSys(H_DEPT,key), start, end);
}
//更新元素的 score
public void updateDeptScore(String key, int score, String member){
getJedis().zadd(genSys(H_DEPT,key), score, member);
}
//更新元素的 member
public void updateDeptMember(String key, String member){
getJedis().zincrby(genSys(H_DEPT,key), 0, member);
}
}
package entity;import java.util.List;
public class Grades {
</span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> String name; </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> String id; </span><span style="color: rgba(0, 0, 255, 1)">public</span> List<Student><span style="color: rgba(0, 0, 0, 1)"> list; </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> String getName() { </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> name; } </span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">void</span><span style="color: rgba(0, 0, 0, 1)"> setName(String name) { </span><span style="color: rgba(0, 0, 255, 1)">this</span>.name =<span style="color: rgba(0, 0, 0, 1)"> name; } </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> String getId() { </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> id; } </span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">void</span><span style="color: rgba(0, 0, 0, 1)"> setId(String id) { </span><span style="color: rgba(0, 0, 255, 1)">this</span>.id =<span style="color: rgba(0, 0, 0, 1)"> id; } </span><span style="color: rgba(0, 0, 255, 1)">public</span> List<Student><span style="color: rgba(0, 0, 0, 1)"> getList() { </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> list; } </span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">void</span> setList(List<Student><span style="color: rgba(0, 0, 0, 1)"> list) { </span><span style="color: rgba(0, 0, 255, 1)">this</span>.list =<span style="color: rgba(0, 0, 0, 1)"> list; }
}
package entity;public class Student {
</span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> stuid; </span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> getStuid() { </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> stuid; } </span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">void</span> setStuid(<span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> stuid) { </span><span style="color: rgba(0, 0, 255, 1)">this</span>.stuid =<span style="color: rgba(0, 0, 0, 1)"> stuid; } </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> String getName() { </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> name; } </span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">void</span><span style="color: rgba(0, 0, 0, 1)"> setName(String name) { </span><span style="color: rgba(0, 0, 255, 1)">this</span>.name =<span style="color: rgba(0, 0, 0, 1)"> name; } </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> String getSex() { </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> sex; } </span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">void</span><span style="color: rgba(0, 0, 0, 1)"> setSex(String sex) { </span><span style="color: rgba(0, 0, 255, 1)">this</span>.sex =<span style="color: rgba(0, 0, 0, 1)"> sex; } </span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> getBirthday() { </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> birthday; } </span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">void</span> setBirthday(<span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> birthday) { </span><span style="color: rgba(0, 0, 255, 1)">this</span>.birthday =<span style="color: rgba(0, 0, 0, 1)"> birthday; } </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> String name; </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> String sex; </span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> birthday;
}
package entity;import java.util.List;
public class Teacher {
</span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> String id; </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> String getId() { </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> id; } </span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">void</span><span style="color: rgba(0, 0, 0, 1)"> setId(String id) { </span><span style="color: rgba(0, 0, 255, 1)">this</span>.id =<span style="color: rgba(0, 0, 0, 1)"> id; } </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> String getName() { </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> name; } </span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">void</span><span style="color: rgba(0, 0, 0, 1)"> setName(String name) { </span><span style="color: rgba(0, 0, 255, 1)">this</span>.name =<span style="color: rgba(0, 0, 0, 1)"> name; } </span><span style="color: rgba(0, 0, 255, 1)">public</span> List<Student><span style="color: rgba(0, 0, 0, 1)"> getStudent() { </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> student; } </span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">void</span> setStudent(List<Student><span style="color: rgba(0, 0, 0, 1)"> student) { </span><span style="color: rgba(0, 0, 255, 1)">this</span>.student =<span style="color: rgba(0, 0, 0, 1)"> student; } </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> String name; </span><span style="color: rgba(0, 0, 255, 1)">public</span> List<Student><span style="color: rgba(0, 0, 0, 1)"> student;
}