import com.alibaba.fastjson.JSON;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
/*
* 从MySqlz中取数据并对数据进行处理
* */
public class MysqlUtils {
private Connection connection = null;
private Statement statement = null;
private PreparedStatement ps=null;
private String driver = "com.mysql.jdbc.Driver";
public String listJson=null;
private String user = "****"; //
private String password = "*";
//连接mysql数据库
public void mysqlConnect() {
try {
Class.forName(driver);
String url = "jdbc:mysql://10.1.65.**:3306/ci_bem_d_question_zheda?useUnicode=true&characterEncoding=UTF8";
if (null == connection) {
connection = DriverManager.getConnection(url,user,password);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
//关闭mysql数据连接
public void mysqlClose(){
try {
if(null !=connection)
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
//测试所需的最终格式的数据
public static void main (String[] args){
MysqlUtils my =new MysqlUtils();
my.mysqlConnect();
String id="91";
List<List<String>> list=my.getDisease(id);
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
my.mysqlClose();
}
/*
* 得到数据库中的配置信息
* */
public List<String> getMysqlInfo(String id){
ResultSet rs=null;
List<String> list1=new ArrayList<String>();
try {
String sql="select * from MYSQL_TO_HBASE_MAPPING where id= ? ";
ps=connection.prepareStatement(sql);
ps.setString(1,id);
rs =ps.executeQuery(); //执行sql查询语句得到结果集
while(rs.next()){ //将得到的结果插入list1中
id=rs.getString(1);
String qs_class=rs.getString(2);
String qs_level_1 =rs.getString(3);
String qs_level_2=rs.getString(4);
String qs_type=rs.getString(5);
String logic_type= rs.getString(6);
String qs_id=rs.getString(7);
String data_source=rs.getString(8);
String column_logic=rs.getString(9);
list1.add(id);
list1.add(qs_class);
list1.add(qs_level_1);
list1.add(qs_level_2);
list1.add(qs_type);
list1.add(logic_type);
list1.add(qs_id);
list1.add(data_source);
list1.add(column_logic);
}
} catch (SQLException e) {
e.printStackTrace();
}
return list1;
}
/*
* 得到疾病信息,将疾病信息转成json格式,将疾病信息和身份证号封装在一个List里面
* */
public List<List<String>> getDisease(String id){
ResultSet rse=null;
List<String> list= new ArrayList<String>(); //存放转为json格式的疾病史信息
List<String> list1= new ArrayList<String>(); //存放有疾病史信息的身份证号码
List<List<String>> list3= new ArrayList<List<String>>(); //存放最终得到的 <身份证号, 疾病史信息>
try {
statement=connection.createStatement(); //根据配置表信息的值查询 疾病史信息
String sql1="select "+getMysqlInfo(id).get(8)+" from ci_bem_d_question_taizhou."+getMysqlInfo(id).get(6)+"";
rse =statement.executeQuery(sql1);
while(rse.next()){
List<DisNT_Entity> list2= new ArrayList<DisNT_Entity>();//存放一条疾病史信息
String sfzhm=rse.getString(1);
String jbmc1=rse.getString(3);
String jbqznl1=rse.getString(4);
String jbmc2=rse.getString(5);
String jbqznl2=rse.getString(6);
String jbmc3=rse.getString(7);
String jbqznl3=rse.getString(8);
String jbmc4=rse.getString(9);
String jbqznl4=rse.getString(10);
String jbmc5=rse.getString(11);
String jbqznl5=rse.getString(12);
String jbmc6=rse.getString(13);
String jbqznl6=rse.getString(14);
String jbmc7=rse.getString(15);
String jbqznl7=rse.getString(16);
String jbmc8=rse.getString(17);
String jbqznl8=rse.getString(18);
String qtjbmc1=rse.getString(19);
String qtjbqznl1=rse.getString(20);
String qtjbmc2=rse.getString(21);
String qtjbqznl2=rse.getString(22);
String qtjbmc3=rse.getString(23);
String qtjbqznl3=rse.getString(24);
String qtjbmc4=rse.getString(25);
String qtjbqznl4=rse.getString(26);
String qtjbmc5=rse.getString(27);
String qtjbqznl5=rse.getString(28);
String qtjbmc6=rse.getString(29);
String qtjbqznl6=rse.getString(30);
boolean flag = false;
/*
* 判断疾病是否存在,身份证号码是否为空和疾病起始年龄是否为空
* 疾病开始是按以截取身份证号码中的年月和起病年龄相加得到
* */
if(jbmc1!=null&&sfzhm!=null ){
flag = true;
if(jbqznl1!=null) {
list2.add(new DisNT_Entity(Integer.valueOf(sfzhm.substring(6, 10)) + Integer.valueOf(jbqznl1) + "-" + sfzhm.substring(10, 12)+ "-" +sfzhm.substring(12,14), "2999-01-01", jbmc1));
}else{
list2.add(new DisNT_Entity("null","2999-01-01", jbmc1));
}
}
if(jbmc2!=null&&sfzhm!=null ){
flag = true;
if(jbqznl2!=null) {
list2.add(new DisNT_Entity(Integer.valueOf(sfzhm.substring(6, 10)) + Integer.valueOf(jbqznl2) + "-" + sfzhm.substring(10, 12)+ "-" +sfzhm.substring(12,14) , "2999-01-01", jbmc2));
}else{
list2.add(new DisNT_Entity("null","2999-01-01", jbmc2));
}
}
if(jbmc3!=null&&sfzhm!=null ){
flag = true;
if(jbqznl3!=null) {
list2.add(new DisNT_Entity(Integer.valueOf(sfzhm.substring(6, 10)) + Integer.valueOf(jbqznl3) + "-" + sfzhm.substring(10, 12)+ "-" +sfzhm.substring(12,14) , "2999-01-01", jbmc3));
}else{
list2.add(new DisNT_Entity("null","2999-01-01", jbmc3));
}
}
if(jbmc4!=null&&sfzhm!=null ){
flag = true;
if(jbqznl4!=null) {
list2.add(new DisNT_Entity(Integer.valueOf(sfzhm.substring(6, 10)) + Integer.valueOf(jbqznl4) + "-" + sfzhm.substring(10, 12)+ "-" +sfzhm.substring(12,14) , "2999-01-01", jbmc4));
}else{
list2.add(new DisNT_Entity("null","2999-01-01", jbmc4));
}
}
if(jbmc5!=null&&sfzhm!=null ){
flag = true;
if(jbqznl5!=null) {
list2.add(new DisNT_Entity(Integer.valueOf(sfzhm.substring(6, 10)) + Integer.valueOf(jbqznl5) + "-" + sfzhm.substring(10, 12)+ "-" +sfzhm.substring(12,14) , "2999-01-
评论0