小编JWi*_*ley的帖子

获取所有儿童文本的xpath

有没有办法在ul标签中获取所有子节点值.

输入:

<ul>
    <li class="type">Industry</li> 

    <li><a href="/store/Browse/?N=355+361+4294855087">Automotive</a></li>                            

    <li><a href="/store/Browse/?N=355+361+4294855065">Parts </a></li>                                

    <li>Tires</li>                  
</ul>
Run Code Online (Sandbox Code Playgroud)

产出:工业,汽车,零件,轮胎.

xpath

21
推荐指数
2
解决办法
2万
查看次数

为什么存储过程名称的最大长度?

可能重复:
为什么Oracle表/列/索引名称限制为30个字符?

在Oracle中编写存储过程时,我选择了一个特别描述性的名称,在尝试更新脚本时,我被告知名称太长.

37  15  PLS-00114: identifier 'blah_blah_blah_blah_blah_blah' too long
Run Code Online (Sandbox Code Playgroud)

为什么对存储的proc名称有这样的限制性限制?这仅仅是Oracle特有的,还是在其他数据库系统中常见?


对不起,副本

sql oracle stored-procedures

12
推荐指数
1
解决办法
2万
查看次数

返回类型为Exception是不错的编程?

在一个项目的用例中我遇到了一个奇怪的情况:ESQL正在调用一个java方法,向它发送一个String输入参数,该方法将解组,应用一些逻辑,然后存储来自unmarshalled对象的有用信息.因此,该方法必须抛出JAXBException,或者使用try catch来处理可能的异常.

这个问题是,ESQL无法调用包含签名中的throws的java方法.但是,我们希望任何错误都可以回到之前调用的MBNode,因此可以在那里进行适当的处​​理,因此trycatch不在图片之内.

让我感到震惊的是,遇到问题时是不可能返回一种Exception,如果没有则返回null?所以我写了一个简单的方法,虽然我没有得到任何警告或错误,但从良好的编程意义上来说,这似乎是错误的.

例如:

public Exception doStuffAndCheckForErorrs(String inString)
{
    if(inString.equals(null))
    {
       return new Exception("Your string is null");
    }
    else
    return null;
}
Run Code Online (Sandbox Code Playgroud)

但是我对这样做有什么不好的感觉.

我愿意接受任何想法或不同的解决方案,特别是如果有解决ESQL签名问题的方法.

更新:

添加有关ESQL过程无法在签名中使用throws子句调用java方法的参考.

摘自CREATE PROCEDURE语句部分下的此链接:

"您要调用的任何Java方法都必须具有以下基本签名:public static(<0 - N parameters>)其中必须位于ESQL到Java数据类型映射表中的Java IN数据类型列表中(不包括REFERENCE类型,不允许作为返回值)或Java void数据类型.参数数据类型也必须在ESQL到Java数据类型映射表中.此外,Java方法不允许有异常在其签名中抛出条款."

java error-handling exception ibm-integration-bus extended-sql

10
推荐指数
1
解决办法
1562
查看次数

从XMLGregorianCalendar转换为Calendar时的日期更改

当测试在系统之间映射日期时间类型的Web服务时,我注意到在公历开始时间之前发送任何日期会导致在转换为最终类型时失去准确性,最终结果总是在范围内略微提前几天.

我把问题缩小到了确切的界限,但是我仍然无法弄清楚为什么它会像这样投射,从文件中说明朱利安日历用于格里高利历开始之前的日期时间:1582年10月15日.

这个问题行是在与流延XMLGregorianCalendarGregorianCalendar,行78:calendarDate = argCal.toGregorianCalendar(); 当时间摘自calendarDate在线86:cal.setTime(calendarDate.getTime());时间回来在它前面的应该是什么2天后,1月3日而不是1月1日,你会看到从下面的程序输出.

这是我制作的示例程序,用于显示端到端的铸造过程:

import java.sql.Date;
import java.util.Calendar;
import java.util.GregorianCalendar;

import javax.xml.datatype.DatatypeConfigurationException;
import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar;



public class TestDateConversions {

    public static void main(String[] args)
    {
        TestDateConversions testDates = new TestDateConversions();
        try
        {
            XMLGregorianCalendar testDate1 = DatatypeFactory.newInstance().newXMLGregorianCalendar();
            testDate1.setYear(0001);
            testDate1.setMonth(01);
            testDate1.setDay(01);
            System.out.println("Start date: "+testDate1.toString() +"\n**********************");

            testDates.setXMLGregorianCalendar(testDate1);
            System.out.println("\nNull given \n"+ "**********");
            testDates.setXMLGregorianCalendar(null);
        }
        catch(Exception e)
        {
            System.out.println(e);
        }
    }


    public void setXMLGregorianCalendar(XMLGregorianCalendar argCal)
    {
        GregorianCalendar calendarDate; …
Run Code Online (Sandbox Code Playgroud)

java datetime casting

6
推荐指数
1
解决办法
1万
查看次数

SqlServer/MyBatis SqlMapConfig数据源设置

我正在研究这个MyBatis教程,并且遇到了在SqlMapConfig.xml中设置dataSource的问题.本教程使用MySql,就像互联网上现有的其他教程一样,但我使用的是SqlServer 2008.

请帮我转换下面的代码连接到本地SqlServer,或者帮助我了解如何设置环境/ SqlMapConfig如何与连接工厂一起工作.

信息/教程的链接也很棒.

谢谢!

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>

    <typeAliases>
        <typeAlias alias="Contact" type="com.name.model.Contact"/>
    </typeAliases>

    <environments default="development">
        <environment id="development">
          <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/blog"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
       </environment>
    </environments>

    <mappers>
       <mapper resource="com/name/data/Contact.xml"/>
    </mappers>

</configuration>
Run Code Online (Sandbox Code Playgroud)

更新:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>

    <typeAliases>
        <typeAlias alias="Contact" type="com.name.model.Contact"/>
    </typeAliases>

    <environments default="development">
        <environment id="development">
          <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/> …
Run Code Online (Sandbox Code Playgroud)

java sql-server mybatis

5
推荐指数
1
解决办法
1万
查看次数

如何构造布尔值并使用java/oracle存储过程访问它们

第一次使用Oracle,通常使用SQLServer,并遇到了一个奇怪的问题.我正在用这个问题撕掉我的头发,并尝试随机的东西,一个正好工作.

所以最初,我只有两个参数,一切正常.然后,我希望添加一个布尔值,以允许我的存储过程中的多个路径.我在我的数据库环境中测试它,没有错误,我收到了我期望的数据.然后我在我的java代码中添加几行来提取这些数据,然后突然出现" wrong number or types of parameters"错误.

在尝试了几件事之后,我只需将Oracle中的类型从Boolean更改为Int,将java代码保留为" setBoolean(3, true)",一切正常.

所以我的问题是:

1)我在java端使用这个setBoolean()发送了什么,Oracle得到了什么?

2)它之前是什么样的类型" Boolean,为什么这与它不兼容setBoolean()?"

3)在提高速度时,我应该使用Oracle类型int和java setBoolean(),还是其他组合,如Oracle Varchar和setString()?

Java的:

String jobquery =   "{call PKG_TEST.GET_PLAN_DATA(?,?,?)}";  
            CallableStatement callStmt = con.prepareCall(jobquery);

            callStmt.setString(1,"15105");
            callStmt.setString(2, "");
            callStmt.setBoolean(3, true);
Run Code Online (Sandbox Code Playgroud)

Oracle SP(上一篇):

PROCEDURE GET_PLAN_DATA(
        NAME_N_IN IN VARCHAR2,
        TYPE_C_IN IN VARCHAR2 DEFAULT NULL,
        ONLY_RESTRICTIONS_IN IN BOOLEAN DEFAULT FALSE)
Run Code Online (Sandbox Code Playgroud)

Oracle改为:

 PROCEDURE GET_PLAN_DATA(
            NAME_N_IN IN VARCHAR2,
            TYPE_C_IN IN VARCHAR2 DEFAULT NULL,
            ONLY_RESTRICTIONS_IN IN INT DEFAULT 0)
Run Code Online (Sandbox Code Playgroud)

java sql database oracle jdbc

5
推荐指数
1
解决办法
4486
查看次数

将行连接到CLOB

关于这个问题有很多类似的问题,但我找不到任何解决方案,考虑到任何最终结果对varchar2来说太大的问题.

所以我要做的就是改变这个:

Column1 | Column2
-------- --------
1         Hello
1         world,
1         please help
2         Thanks
2         world,
2         you're the best.
Run Code Online (Sandbox Code Playgroud)

进入:

Column1 | Column2
-------- --------
1         Hello world, please help
2         Thanks world, you're the best.
Run Code Online (Sandbox Code Playgroud)

我的特殊问题是,在某些情况下,新的连接值超过4000个字符,因此我无法LISTAGG按照我的意愿使用.我对解决方案特别感兴趣而无需编写函数,但要么会这样做.

sql oracle

5
推荐指数
1
解决办法
5718
查看次数

使用撇号与单引号/反引号

我是Angular的新手,在继续编写教程时,我在编写模块时略微改变了习惯:

.state('sports.medals', {
    url: '/:sportName',
    templateUrl: 'sports/sports-medals.html',
    resolve: {
      sportService: function($http, $stateParams){
        return $http.get('/sports/${ $stateParams.sportName }');
      }
    },
Run Code Online (Sandbox Code Playgroud)

这在项目的其余部分完全编译,没有错误.但是,当调用此函数时,它将内容读取get为整个字符串,而不是按原样解析内容.

调用它的正确方法显然是:

 .state('sports.medals', {
        url: '/:sportName',
        templateUrl: 'sports/sports-medals.html',
        resolve: {
          sportService: function($http, $stateParams){
            return $http.get(`/sports/${ $stateParams.sportName }`);
          }
        },
Run Code Online (Sandbox Code Playgroud)

使用 `撇号/反引号而不是单引号'

作为一名程序员,我几乎总是在参数中使用javascript和/或双引号时专门使用单引号,所以这让我感到惊讶,并不是立即显而易见的.有没有理由在某处记录这种行为?我应该养成使用反引号而非单引号的习惯吗?我想避免其他这样的惊喜.

javascript syntax angularjs

5
推荐指数
2
解决办法
5070
查看次数

mui-datatables 隐藏列标题

使用materialui-datatables包,有没有办法切换列标题?我看到了覆盖自定义样式的示例,但在站点 api 中找不到选项。

示例位于沙箱中。

我当前的表如下所示:

const columns = [
        {
            name: "Question",
            label: "",
            options: {
                someOptionToToggle: true
            },
        }, 
        {
            name: "Answer",
            label: ""        
        }
    ]; 
 const options = {
        filter: false,
        responsive: "scroll",
        download: false,
        sort: false,
        selectableRows: false,
        print: false,
        viewColumns: false,
        searchOpen: true,
        searchText: searchText,
        search: false,
        customSearchRender: () => null
    }; 
<MUIDataTable
      title={""}
      data={faqData}
      columns={columns}
      options={options}
/>
Run Code Online (Sandbox Code Playgroud)

如果设置为空白,选项选项似乎label会提供此选项,但标头名称仍然保留。我已经尝试了列选项中的各种其他属性,这可能吗?

reactjs material-ui

5
推荐指数
2
解决办法
1万
查看次数

从数据库转换为java变量时使用的命名约定

我正在开发一个项目,我将数据库信息转换为java对象,我很好奇我应该如何表示/命名java端的对象和变量.

例如,如果我正在将一个名为Dog的表转换为包含狗的信息,例如:Column:BREED_C, NAME_C, OWNER_C, DOGID_D, HAS_RABIES_I等等,并将其转换为一个名为Dog的java对象,并使用相应的变量,我是否应遵循java命名约定,例如BreedC或使用Breed_C或甚至BREED_C如此两个系统之间的差异很小?

java database naming-conventions

4
推荐指数
1
解决办法
2015
查看次数