`
jxqc_job
  • 浏览: 529 次
社区版块
存档分类
最新评论
收藏列表
标题 标签 来源
jdbc连接数据库 jdbc连接数据库
1. 表t_proReconRecord的结构定义:
	prr_id int ; //主键
	contract_id int ; //合同号
	ttr_id int ; //解决方案id
	sell_id int; //网元
	pr_values text ; //工勘信息
	webModelDetail varchar ; //细分的网元类型
	config_id int; //bill清单编号

2. ProjectReconRecord.java
package com.pojo;
/**
 * 工勘记录表
 */
public class ProjectReconRecord {
	private Integer prr_id; //主键
	private Integer contract_id; //合同号
	private Integer ttr_id; //解决方案id
	private Integer sell_id; //网元
	private String pr_values; //工勘信息
	private String webModelDetail; //细分的网元类型
	private Integer config_id; //bill清单编号
	public Integer getPrr_id() {
		return prr_id;
	}
	public void setPrr_id(Integer prr_id) {
		this.prr_id = prr_id;
	}
	public Integer getContract_id() {
		return contract_id;
	}
	public void setContract_id(Integer contract_id) {
		this.contract_id = contract_id;
	}
	public String getPr_values() {
		return pr_values;
	}
	public void setPr_values(String pr_values) {
		this.pr_values = pr_values;
	}
	public Integer getTtr_id() {
		return ttr_id;
	}
	public void setTtr_id(Integer ttr_id) {
		this.ttr_id = ttr_id;
	}
	public Integer getSell_id() {
		return sell_id;
	}
	public void setSell_id(Integer sell_id) {
		this.sell_id = sell_id;
	}
	public String getWebModelDetail() {
		return webModelDetail;
	}
	public void setWebModelDetail(String webModelDetail) {
		this.webModelDetail = webModelDetail;
	}
	public Integer getConfig_id() {
		return config_id;
	}
	public void setConfig_id(Integer config_id) {
		this.config_id = config_id;
	}
}

3. DBUtil.java
package com.db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class DBUtil {
	private Connection conn;
	private PreparedStatement ps;
	private ResultSet rs;
	public Connection getConn() {
		return conn;
	}
	public PreparedStatement getPs() {
		return ps;
	}
	public ResultSet getRs() {
		return rs;
	}
	public Connection getConnection(){
		try{
			String username = "root";
			String password = "dfd12df";
			String url = "jdbc:mysql://localhost:3306/db_hp";
			Class.forName("com.mysql.jdbc.Driver");
			conn = DriverManager.getConnection(url, username, password);
			System.out.println("数据库连接成功");
		}catch(Exception e){
			conn = null;
		}
		return conn;
	}
	public PreparedStatement getPreparedStatement(String sql){
		try{
			ps = conn.prepareStatement(sql);
		}catch(Exception e){
			e.printStackTrace();
		}
		return null;
	}
	public ResultSet getResultSet(){
		try{
			rs = ps.executeQuery();
		}catch(Exception e){
			e.printStackTrace();
		}
		return rs;
	}
	public void close(){
		try{
			if(rs != null){
				rs.close();
			}
			if(ps != null){
				ps.close();
			}
			if(conn != null){
				conn.close();
			}
		}catch(Exception e){
			e.printStackTrace();
		}
	}
	public static void main(String[] args){
		DBUtil du = new DBUtil();
		du.getConnection();
	}
}

4. CommonDB.java
package com.db;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import com.pojo.ProjectReconRecord;

public class CommonDB<T> {
	private T t;
	public void setT(T t){
		this.t = t;
	}
	public T getT(){
		return this.t;
	}
	/**查询数据库*/
	public List<?> findListBySql(T t, String sql){
		this.setT(t);
		List<ProjectReconRecord> list = new ArrayList<ProjectReconRecord>();
		DBUtil du = new DBUtil();
		du.getConnection();
		du.getPreparedStatement(sql);
		ResultSet rs = du.getResultSet();
		try{
			ProjectReconRecord p = null;
			/** 1为ProjectReconRecord */
			int flg = 0;
			if(this.getT().getClass().equals(ProjectReconRecord.class)){
				flg = 1;
			}
			while(rs.next()){
				if(flg == 1){
					p = new ProjectReconRecord();
					Integer prr_id = rs.getInt("prr_id");
					Integer contract_id = rs.getInt("contract_id");
					Integer ttr_id = rs.getInt("ttr_id");
					Integer sell_id = rs.getInt("sell_id");
					String pr_values = rs.getString("pr_values");
					Integer config_id = rs.getInt("config_id");
					p.setPrr_id(prr_id);
					p.setContract_id(contract_id);
					p.setTtr_id(ttr_id);
					p.setSell_id(sell_id);
					p.setPr_values(pr_values);
					p.setConfig_id(config_id);
					list.add(p);
					continue;
				}else{
					break;
				}
			}
		}catch(Exception e){
			e.printStackTrace();
		}finally{
			du.close();
		}
		System.out.println("rs是否关闭?"+(du.getRs()==null?"是":"否"));
		System.out.println("ps是否关闭?"+(du.getPs()==null?"是":"否"));
		System.out.println("conn是否关闭?"+(du.getConn()==null?"是":"否"));
		return list;
	}
	public static void main(String[] args) {
		CommonDB<ProjectReconRecord> cd = new CommonDB<ProjectReconRecord>();
		cd.setT(new ProjectReconRecord());
		List<ProjectReconRecord> list = (List<ProjectReconRecord>) cd.findListBySql(new ProjectReconRecord(), "select * from t_proReconRecord where contract_id = 227 and ttr_id = 6 and sell_id = 12");
		for(ProjectReconRecord p : list){
			System.out.println("contract_id = "+p.getContract_id()+", "+
					"ttr_id = "+p.getTtr_id()+", sell_id = "+p.getSell_id()+", config_id = "+p.getConfig_id()+", prr_values = "+p.getPr_values());
		}
	}
}

4. ProReconRecordUtil.java
import java.util.*;
/**对上传的工勘的结果进行处理的工具类*/
public class ProReconRecordUtil
{
	public static void main(String[] args){
		//基站
		int enb_sell_id = 12;
		String enb_prr_value = "pr_en_1=新建机房,pr_en_2=青青小美,pr_en_3=20.0,pr_en_4=30.0,pr_en_6=上走线,"
			+"pr_en_7=一般地区,pr_en_8=20.0,pr_en_9=直流-48V,pr_en_10=室外落地,"
			+"pr_en_12=1.8GHz eRRU3251,pr_en_13=华为,pr_en_14=直流,pr_en_15=抱杆安装,"
			+"pr_en_16=室外,pr_en_17=2.0,pr_en_18=3.0,pr_en_19=1.0,pr_en_20=6.144G-单模-2km,"
			+"pr_en_21=2.0,pr_en_24=单模,pr_en_27=40.0,pr_en_28=2.0,pr_en_34=50.0,pr_en_35=50.0,"
			+"pr_en_36=否,pr_en_37=否,pr_en_50=0度,pr_en_52=抱杆,pr_en_53=是,pr_en_54=40.0,"
			+"pr_en_60=光口,pr_en_61=单模10km,pr_en_63=LC-LC,pr_en_64=单模,pr_en_65=20.0,"
			+"pr_en_69=5.0,pr_en_70=5.0,pr_en_90=10.0,pr_en_91=单相三芯电源线,pr_en_92=10.0"; //实际使用这个地方的值从数据库中获取得到
		int totalPrNumber = 152;
		handPrValue(enb_sell_id, enb_prr_value, totalPrNumber);

		//核心网
		int hardCore_sell_id = 13;
		String hardCore_prr_value = "pr_en_1=是,pr_en_9=1,pr_en_2=2,pr_en_5=2,pr_en_7=一般地区,pr_en_10=3"; //实际使用这个地方的值从数据库中获取得到
		int hardCore_totalPrNumber = 10;
		handPrValue(hardCore_sell_id, hardCore_prr_value, hardCore_totalPrNumber);
	}
	/**对上传的工勘的结果进行处理*/
	public static Map<String, String> handPrValue(int sell_id, String prr_value, int totalPrNumber){
		int[] indexArray = {1,5,9,14,16};
		String[] prArray = prr_value.split(",");
		String[] prName = new String[prArray.length];
		String[] prValue = new String[prArray.length];
		if(prArray.length > 0){
			for(int i = 0; i < prArray.length; i++){
				String[] p_v = prArray[i].split("=");
				prName[i] = p_v[0];
				prValue[i] = p_v[1];
			}
		}
		Map<String,String> map = new LinkedHashMap<String, String>();
		for(int i = 0; i < totalPrNumber; i++){
			boolean flg = false;
			for(int j = 0; j < prName.length; j++){
				if(prName[j].equals("pr_en_"+(i+1))){
					map.put(prName[j],prValue[j]);
					flg = true;
					break;
				}else{
					continue;
				}
			}
			if(!flg){
				map.put("pr_en_"+(i+1),"-10000");
			}
		}
		for(Map.Entry<String,String> obj : map.entrySet()){
			System.out.println(obj.getKey() + " = "+obj.getValue());
		}
		System.out.println("map.size = "+map.size());
		System.out.println("---------------------------------");
		return map;
	}
}
Global site tag (gtag.js) - Google Analytics