当前位置: 首页 > news >正文

更改网站名字展示类网站开发费用

更改网站名字,展示类网站开发费用,销售怎么做,句容做网站本人在项目中遇到这么个需求,有一个模块的server方法需要频繁修改 经阅读可以使用 Groovy 使用java脚本来时pom坐标 <dependency><groupId>org.codehaus.groovy</groupId><artifactId>groovy</artifactId><version>3.0.9</version>…
本人在项目中遇到这么个需求,有一个模块的server方法需要频繁修改
经阅读可以使用 Groovy 使用java脚本来时

pom坐标

<dependency><groupId>org.codehaus.groovy</groupId><artifactId>groovy</artifactId><version>3.0.9</version>
</dependency>

实例代码

public interface IGroovyHandler {List<JSONObject> transform(List<JSONObject> data);
}

动态加载

@Component
@Slf4j
public class GroovyTransformServiceImpl implements TransformStrategy {private GroovyClassLoader groovyClassLoader = new GroovyClassLoader();/*** 数据清洗转换 类型** @return*/@Overridepublic String type() {return "javaBean";}/**** 清洗转换算法接口* @param def* @param data* @return*/@Overridepublic List<JSONObject> transform(DataSetTransformDto def, List<JSONObject> data) {String transformScript = def.getTransformScript();Class<?> clazz = groovyClassLoader.parseClass(transformScript);if (clazz != null) {try {Object instance = clazz.newInstance();if (instance!=null) {if (instance instanceof IGroovyHandler) {IGroovyHandler handler = (IGroovyHandler) instance;return handler.transform(data);} else {System.err.println("转换失败!");}}} catch (Exception e) {log.info("执行javaBean异常", e);throw new RuntimeException(e.getMessage());}}return data;}
}

java 脚本 在idea中写好之后 转化成字符串 运行

package com;import com.alibaba.fastjson.JSONObject;
import com.anjiplus.template.gaea.business.modules.datasettransform.service.IGroovyHandler;import java.util.ArrayList;
import java.util.List;/*** 建议在idea写好复制整个类到此处,位置report-core/src/test/java/com/DemoGroovyHandler.java*/
public class DemoGroovyHandler implements IGroovyHandler {@Overridepublic List<JSONObject> transform(List<JSONObject> data) {for (JSONObject datum : data) {List<Double> value = new ArrayList<>();Double longitude = datum.getDouble("longitude");Double latitude = datum.getDouble("latitude");value.add(longitude);value.add(latitude);datum.put("value", value);datum.put("name", "");datum.remove("longitude")datum.remove("latitude")}return data;}
}

demo代码

import groovy.lang.GroovyClassLoader;
import groovy.lang.GroovyObject;import java.lang.reflect.InvocationTargetException;public class GroovyTest {public static void main(String[] args) throws Exception {//test01();test02();}private static void test02() throws InstantiationException, IllegalAccessException, InvocationTargetException, NoSuchMethodException {GroovyClassLoader loader = new GroovyClassLoader();// java代码String java = "import java.sql.*;\n" +"import java.util.ArrayList;\n" +"import java.util.HashMap;\n" +"import java.util.List;\n" +"import java.util.Map;\n" +"\n" +"public class JDBCTest {\n" +"    \n" +"    private static List<Map> getData() {\n" +"        // 数据库URL,用户名和密码\n" +"        String url = \"jdbc:mysql://172.16.90.xxx:3306/xx\";\n" +"        String user = \"root\";\n" +"        String password = \"123456\";\n" +"\n" +"        Connection conn = null;\n" +"        Statement stmt = null;\n" +"        ResultSet rs = null;\n" +"        List<Map> data = new ArrayList<>();\n" +"        try {\n" +"            // 加载数据库驱动\n" +"            Class.forName(\"com.mysql.cj.jdbc.Driver\");\n" +"\n" +"            // 建立连接\n" +"            conn = DriverManager.getConnection(url, user, password);\n" +"\n" +"            // 创建Statement对象\n" +"            stmt = conn.createStatement();\n" +"\n" +"            // 执行查询\n" +"            rs = stmt.executeQuery(\"SELECT kdmc FROM frm_wlxx\");\n" +"\n" +"            // 获取结果集的元数据\n" +"            ResultSetMetaData rsmd = rs.getMetaData();\n" +"\n" +"            // 获取列数\n" +"            int columnsCount = rsmd.getColumnCount();\n" +"\n" +"            // 遍历每一行数据\n" +"            while (rs.next()) {\n" +"                Map obj = new HashMap();\n" +"                for (int i = 1; i <= columnsCount; i++) {\n" +"                    // 获取列名\n" +"                    String columnName = rsmd.getColumnName(i);\n" +"                    // 获取对应列的值\n" +"                    Object columnValue = rs.getObject(i);\n" +"\n" +"                    obj.put(columnName, columnValue);\n" +"\n" +"                }\n" +"                data.add(obj);\n" +"            }\n" +"            // 处理结果\n" +"//            while (rs.next()) {\n" +"//                String string = rs.getString(\"kdmc\");\n" +"\n" +"\n" +"//                String query =\"SELECT kdmc FROM frm_wlxx where kdmc=?\";\n" +"//\n" +"//                PreparedStatement pstmt = conn.prepareStatement(query);\n" +"//\n" +"//                pstmt.setString(1, string);\n" +"//\n" +"//                ResultSet child = pstmt.executeQuery();\n" +"//                while (child.next()) {\n" +"//                    String childObj = child.getString(\"kdmc\");\n" +"//                    System.out.println(childObj);\n" +"//                }\n" +"//            }\n" +"        } catch (Exception e) {\n" +"            e.printStackTrace();\n" +"        } finally {\n" +"            // 关闭资源\n" +"            try {\n" +"                if (rs != null) {\n" +"                    rs.close();\n" +"                    rs = null;\n" +"                }\n" +"                if (stmt != null) {\n" +"                    stmt.close();\n" +"                    stmt = null;\n" +"                }\n" +"                if (conn != null) {\n" +"                    conn.close();\n" +"                    conn = null;\n" +"                }\n" +"            } catch (Exception e) {\n" +"                e.printStackTrace();\n" +"            }\n" +"        }\n" +"        return data;\n" +"    }\n" +"}\n";Class scriptClass = loader.parseClass(java);GroovyObject scriptInstance = (GroovyObject) scriptClass.getDeclaredConstructor().newInstance();Object result = scriptInstance.invokeMethod("getData", new Object[]{});System.out.println("Groovy result=" + result);}private static void test01() throws InstantiationException, IllegalAccessException, InvocationTargetException, NoSuchMethodException {GroovyClassLoader loader = new GroovyClassLoader();// java代码String java = " " +"   public class Test { " +"      public int add(double a, double b) { " +"        double sum = a + b;  " +"         System.out.println(\"Script sum=\" + sum);  " +"         return sum.intValue(); " +"      }  " +"  } ";Class scriptClass = loader.parseClass(java);GroovyObject scriptInstance = (GroovyObject) scriptClass.getDeclaredConstructor().newInstance();Object result = scriptInstance.invokeMethod("add", new Object[]{1, 2});System.out.println("Groovy result=" + result);}}

http://www.yayakq.cn/news/382744/

相关文章:

  • 怎么选择丹徒网站建设自己建网站 怎么做后台
  • 宿州北京网站建设做十来个网站优化
  • 商业网站开发实训内容深圳app网站建设陈俊兵
  • 手机网站开发ios怎么能让我的网站被百度收录
  • 做网站北京wordpress 小视频模板
  • 教育集团网站设计策划书wordpress大学用户中心
  • 广州设计网站避免视觉效果混淆。
  • 四川专业网站建设费用更换网站备案
  • 企业彩铃网站源码做图片的软件带字图片免费
  • 个人网站域名名字html5网站代理
  • 阿里云上可以做网站吗源代码网站怎么建设
  • 招聘网站开发需求wordpress 图片服务器
  • 大连企业需要做网站沈阳网站制作策划
  • 郑州网站运营营销型网站建设设计6
  • 建设一个微商的网站新型网络平台代理加盟
  • 网站的运作方式南昌seo网站
  • 龙岗公司做网站自助建站系统平台
  • 交易 网站备案安阳市建设工程领域网站
  • 做现货需要关注的网站网站建设作业做一个简单的网站
  • 山西省住房和城乡建设部网站2022必火的创业项目
  • 理聪网营销型网站建设中国建设工程造价管理系统网站
  • 电脑去哪里建设网站网站建站费用多少钱
  • 徐州市城乡建设局网站网络架构有几种模式
  • 厦门做网站优化唐山官方网站建设
  • 企业如何做网站wordpress 产品展示
  • 新郑网站建设dede网站logo怎么改
  • 手机网站按那个尺寸做手机网站设计报价
  • 做网站 租服务器吗关键词排名怎么做上首页
  • 宁波网站建设公司比较好wordpress wshk
  • 门户建设网站多少钱有没有永久免费crm