`
cin_ie
  • 浏览: 47336 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

更新数据库的共通类

阅读更多
package updateCommon;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class CommonUpdate {

/**
* author: YSM
* <p>Title: update</p>
* <p>Description: 更新数据库表,共通方法</p>
* @param updateMap 需要更新的字段
* @param qualificationMap 更新条件
* @param tableName 更新的表名
*/
public static void update(Map<String, String> updateMap, Map<String, String> qualificationMap, String tableName) {
Set<String> updateSet = updateMap.keySet();
Iterator<String> updateIt = updateSet.iterator();
String updateKey = null;
StringBuffer updateSql = new StringBuffer("");
while (updateIt.hasNext()) {
updateKey = updateIt.next();

String[] tempStr = dealKeyAndValueByDataType(updateKey, updateMap);

updateSql.append(tempStr[0]);
updateSql.append(" = ");
updateSql.append(tempStr[1]);
if (updateIt.hasNext()) {
updateSql.append(" , ");
}
}

Set<String> qualificationSet = qualificationMap.keySet();
Iterator<String> qualificationIt = qualificationSet.iterator();
StringBuffer qualificationSql = new StringBuffer("");
String qualificationKey = null;
if (qualificationIt.hasNext()) {
qualificationSql.append(" where ");
}
while (qualificationIt.hasNext()) {

qualificationKey = qualificationIt.next();

String[] tempStr = dealKeyAndValueByDataType(qualificationKey, qualificationMap);

qualificationSql.append(tempStr[0]);
qualificationSql.append(" = ");
qualificationSql.append(tempStr[1]);

if (qualificationIt.hasNext()) {
qualificationSql.append(" and ");
}
}

String sql = "update " + tableName + " set " + updateSql + qualificationSql;

System.out.println(sql);
}

private static String[] dealKeyAndValueByDataType(String str, Map<String, String> qualificationMap) {

String [] tempStr = str.split("_");
String [] returnStr = new String[2];

returnStr[0] = tempStr[1];

if ("char".equals(tempStr[0])) {
returnStr[1] = "'" + (String)qualificationMap.get(str) + "'";
} else if ("int".equals(tempStr[0]))  {
returnStr[1] = (String) qualificationMap.get(str);
}

return returnStr;
}

public static void main (String [] args) {
Map<String, String> updateMap = new HashMap<String, String>();
updateMap.put("int_id", "1");
updateMap.put("char_name", "ysm");
Map<String, String> qualificationMap = new HashMap<String, String>();
qualificationMap.put("int_sn", "4");
qualificationMap.put("char_osn", "12345abc");
update(updateMap, qualificationMap, "t_repair");
}
}
分享到:
评论
3 楼 cin_ie 2010-08-07  
System.out.println("flag_4");
        // 指定图片的透明度(0.0-1.0)
        plot.setForegroundAlpha(0.65f);  
        // 指定显示的饼图上圆形(false)还椭圆形(true)  
        plot.setCircular(false, true);

        // 设置第一个 饼块section 的开始位置,默认是12点钟方向
        plot.setStartAngle(90);

        // // 设置分饼颜色
        plot.setSectionPaint(pieKeys[0], new Color(244, 194, 144));
        plot.setSectionPaint(pieKeys[1], new Color(144, 233, 144));
        FileOutputStream fos_jpg = null;
        try {
            // 文件夹不存在则创建
            isChartPathExist(CHART_PATH);
            String chartName = CHART_PATH + charName;
            fos_jpg = new FileOutputStream(chartName);
            // 高宽的设置影响椭圆饼图的形状
            ChartUtilities.writeChartAsPNG(fos_jpg, chart, 500, 230);

            return chartName;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        } finally {
            try {
                fos_jpg.close();
                System.out.println("create pie-chart.");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
}

/** 
     * 判断文件夹是否存在,如果不存在则新建 
     * @param chartPath 
     */ 
    private void isChartPathExist(String chartPath) {  
        File file = new File(chartPath);  
        if (!file.exists()) {  
            file.mkdirs();  
        // log.info("CHART_PATH="+CHART_PATH+"create.");  
        }  
    }

}
2 楼 cin_ie 2010-08-07  
/**
* 饼状图
*
* @param dataset
*            数据集
* @param chartTitle
*            图标题
* @param charName
*            生成图的名字
* @param pieKeys
*            分饼的名字集
* @return
*/
public String createValidityComparePimChar(PieDataset dataset,
String chartTitle, String charName, String[] pieKeys) {
System.out.println("flag_2");
JFreeChart chart = ChartFactory.createPieChart3D(chartTitle, dataset, true, true, false);
// JFreeChart chart = ChartFactory.createPieChart(chartTitle, dataset, true, true, false);
System.out.println("flag_2.1");
chart.setAntiAlias(false);
// 图片背景色
chart.setBackgroundPaint(Color.white);
// 设置图标题的字体重新设置title
        Font font = new Font("隶书", Font.BOLD, 25);
        TextTitle title = new TextTitle(chartTitle);
        title.setFont(font);
        chart.setTitle(title);

System.out.println("flag_3");
        PiePlot3D plot = (PiePlot3D) chart.getPlot();
        // 图片中显示百分比:默认方式
       
        //  指定饼图轮廓线的颜色
        // plot.setBaseSectionOutlinePaint(Color.BLACK);
        // plot.setBaseSectionPaint(Color.BLACK);
 
        // 设置无数据时的信息
        plot.setNoDataMessage("无对应的数据,请重新查询。");
 
        // 设置无数据时的信息显示颜色
        plot.setNoDataMessagePaint(Color.red);
 
        // 图片中显示百分比:自定义方式,{0} 表示选项, {1} 表示数值, {2} 表示所占比例 ,小数点后两位
        plot.setLabelGenerator(new StandardPieSectionLabelGenerator(
                "{0}={1}({2})", NumberFormat.getNumberInstance(),
                new DecimalFormat("0.00%")));
        // 图例显示百分比:自定义方式, {0} 表示选项, {1} 表示数值, {2} 表示所占比例  
        plot.setLegendLabelGenerator(new StandardPieSectionLabelGenerator(
                "{0}={1}({2})"));

        plot.setLabelFont(new Font("SansSerif", Font.TRUETYPE_FONT, 12));
1 楼 cin_ie 2010-08-07  
package chartOption.bl;

import java.awt.Color;
import java.awt.Font;
import java.io.File;
import java.io.FileOutputStream;
import java.text.DecimalFormat;
import java.text.NumberFormat;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;

public class CakyChart {

private static final String CHART_PATH = "D:/test/";

/**
* <p>
* Title: main
* </p>
* <p>
* Description:
* </p>
*
* @param args
*/

public static void main(String[] args) {
CakyChart cakyChart = new CakyChart();

double[] data = { 2, 2 };
String[] keys = { "大饼1", "大饼2"};

cakyChart.makePieChart(data, keys);
}

// 饼状图 数据集
public PieDataset getDataPieSetByUtil(double[] data,
String[] datadescription) {

if (data != null && datadescription != null) {
if (data.length == datadescription.length) {
DefaultPieDataset dataset = new DefaultPieDataset();
for (int i = 0; i < data.length; i++) {
dataset.setValue(datadescription[i], data[i]);
}
return dataset;
}
}

return null;
}

public void makePieChart(double[] data, String[] keys) {

System.out.println("flag_1");
this.createValidityComparePimChar(getDataPieSetByUtil(data, keys), "彩色大饼", "pie2.png", keys);
}

相关推荐

    access数据库一日通讲义

    郭定安老师的“Access数据库一日通讲义”提供了深入浅出的教程,帮助学习者快速掌握数据库的基本概念和操作。 在数据库设计中,正规化(Normalization)是一个至关重要的概念。正规化是为了避免数据冗余和提高数据...

    MySQL_连接数据库包

    数据库连接是应用程序与MySQL服务器之间的通信通道,通过这个通道,应用可以发送SQL查询、更新数据、插入新记录或检索现有记录。开发包通常提供API(应用程序编程接口),这些API封装了与数据库交互的底层细节,使...

    基于Qt4的SQLite数据库应用编程

    Qt对SQLite数据库的管理提供了友好的接口,可以方便地创建、读取、更新和删除数据库中的数据。 5. Linux环境下的开发:在Linux平台上进行Qt4和SQLite的开发需要使用一些基本的Linux命令和工具,比如make、gcc编译器...

    数据库笔记1-4

    `,更新语句`UPDATE table_name SET column1 = value1 WHERE condition;`等。 #### 4. 数据库设计 - **需求分析**:明确数据库需要实现的功能和目标,收集用户需求。 - **概念设计**:建立ER模型(实体-联系模型)...

    达梦数据库驱动包、方言、jdbc

    达梦数据库是一款由中国达梦公司开发的高性能、安全可靠的关系型数据库管理系统,广泛应用于政府、金融、电信...在实际应用中,还需要关注达梦数据库的最新版本更新和最佳实践,以充分利用其功能并解决可能出现的问题。

    中安威士数据库防火墙系统(VS-FW)参考.pdf

    VS-FW 具有高性能、大存储和报表丰富等优势,能为客户带来自动识别用户对敏感数据的访问行为模式,识别数据库的安全威胁,并定期更新攻击特征库全面审核企业内部和外部人员对敏感数据的所有访问,提高数据安全管理...

    好用的数据库管理工具

    4. **数据同步**:通过比较不同数据库或模式之间的差异,Navicat能生成同步脚本,快速更新数据库结构和数据,确保数据库的一致性。 5. **数据备份**:计划备份功能使得定期备份数据库变得简单,防止因意外丢失重要...

    20080908更新山东ip数据库

    ### 山东IP数据库20080908更新解析 #### 一、更新背景与意义 在互联网发展的早期阶段,对IP地址的管理和跟踪是网络管理中的一个重要环节。...通过持续更新和完善这类数据库,可以更好地适应不断变化的网络环境需求。

    网上购物系统数据库设计.doc

    这些网站尽管商品种类和运营模式各异,但在数据库设计上有许多共通之处,比如用户信息表、商品分类表、订单表等关键数据表的字段设计。 数据库设计是一个涉及需求分析、结构设计和实施的复杂过程。在SQL Server ...

    数据库链接

    5. **执行SQL语句**:一旦链接建立,你可以使用`Statement`或`PreparedStatement`对象来执行SQL查询、插入、更新或删除操作。 6. **处理结果集**:执行查询后,结果会被返回为`ResultSet`对象,你可以遍历它来获取...

    PPC来电通数据库修改工具

    这很可能是该工具的主要程序或者一个数据生成脚本,用于创建或更新来电数据库。用户可能需要运行这个程序来导入新的电话号码数据,或者编辑现有的数据库记录。 结合以上信息,我们可以得出以下知识点: 1. PPC平台...

    SQL21日自学通(数据库学习必备)

    SQL21日自学通是一套系统的学习资源,旨在帮助初学者在21天内掌握SQL的基础知识和核心技能,从而能有效地进行数据查询、管理、分析与更新。 在SQL学习之旅中,首先会接触到的是SQL的基本概念。SQL语言分为DML(Data...

    java界面操作数据库的实例

    - JDBC API包含一组Java类和接口,允许Java应用程序连接到各种数据库。 - `java.sql.DriverManager` 是核心,负责建立到数据库的连接。 - `Connection` 对象表示到数据库的物理连接。 - `Statement` 和 `...

    数据库设计的沟通

    11. **活动或文案管理表**:这类表用于存储活动信息、宣传文本等,便于管理和更新营销活动。 12. **后续讨论**:数据库设计是一个迭代的过程,随着需求的明确和调整,可能需要多次讨论和完善。 综上所述,数据库...

    数据挖掘与数据库开发

    元数据模型记录了关于数据仓库本身的元信息,如数据来源、更新频率等。 系统分析与设计阶段,模块划分将系统分解为可管理的部分,如用户管理、课程管理、教师评价等模块。数据库设计是这一阶段的重点,涉及ER图的...

    基于C#的Remoting数据库应用

    服务端可能包含一个实现了特定接口的类,该接口定义了数据库操作的方法。当客户端通过Remoting调用这些方法时,实际上是在远程进程中执行相应的数据库操作。 为了实现这样的系统,开发者需要完成以下步骤: 1. **...

    零基础学习SQL数据库大全

    不同的DBMS有不同的特性,但对开发者来说,它们在操作上有很多共通之处。 3. SQL代表结构化查询语言,用于执行各种数据库操作,如查询、插入、更新和删除数据。SQL与特定的数据库产品(如SQL Server)之间是有区别...

    vc++与sql数据库 小型系统实例

    这个实例通常会涵盖基本的数据库操作,如数据查询、插入、更新和删除,以及在VC++中使用MFC(Microsoft Foundation Classes)库来实现用户界面。 【描述】"vc与sql编写的小型系统适合初学者 来源于30天学通vc++...

    .NET Remoting实现分布式数据库查询

    服务器端部署了一个远程对象,例如`DbServerLibrary.dll`,这个库包含了处理数据库查询和更新的逻辑。服务器端需要注册一个或多个通道,如TCP通道,以便客户端可以通过这些通道与远程对象交互。远程对象的核心组件...

Global site tag (gtag.js) - Google Analytics