我正在尝试从Java应用程序更新表,其中某个列可能为NULL.我尝试了几种不同的方法,但我总是得到以下错误:
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect date value: 'null' for column 'scheidingsdatum' at row 1
我确保该表允许scheidingsdatum字段的NULL值,并且可以在直接插入MySQL时插入NULL值
这是PHPMyAdmin中的表结构:
这些表使用innoDB
我尝试了以下解决方案:
1:只需在参数中使用NULL变量
stmnt = conn.prepareStatement("UPDATE gezinnen SET "
+ "ouder1 = ?,"
+ "ouder2 = ?,"
+ "huwelijksdatum = ?,"
+ "scheidingsdatum = ? "
+ "WHERE gezinsNummer = ?");
stmnt.setString(1, ouder1);
stmnt.setString(2, ouder2);
stmnt.setString(3, huwelijksdatum);
stmnt.setString(4, scheidingsdatum);
stmnt.setString(5, nummer);
Run Code Online (Sandbox Code Playgroud)
2:查询中的硬编码NULL(if/else块内)
stmnt = conn.prepareStatement("UPDATE gezinnen SET "
+ "ouder1 = ?,"
+ "ouder2 = ?,"
+ "huwelijksdatum = ?,"
+ "scheidingsdatum …Run Code Online (Sandbox Code Playgroud) 我尝试在 Dymo LabelWriter 450 上打印标签,但遇到困难。
我现在处理的问题是,我什至无法填满整个标签,当我使用 Dymo 软件打印时,似乎有大约 0.6 毫米的左边距。
理想情况下,我会使用 SDK,但我无法找到 Dymo Java SDK。
我修改了这个答案的一些代码以获得这个结果。
public class PrinterTest {
public static void main(String[] args) {
PrinterJob printerJob = PrinterJob.getPrinterJob();
if (printerJob.printDialog()) {
PageFormat pageFormat = printerJob.defaultPage();
Paper paper = pageFormat.getPaper();
double width = fromCMToPPI(1.9);
double height = fromCMToPPI(4.5);
double horizontalMargin = fromCMToPPI(0.25);
double verticalMargin = fromCMToPPI(0.1);
paper.setSize(width, height);
paper.setImageableArea(
horizontalMargin,
verticalMargin,
width,
height);
pageFormat.setOrientation(PageFormat.REVERSE_LANDSCAPE);
pageFormat.setPaper(paper);
printerJob.setPrintable(new MyPrintable(), pageFormat);
try {
printerJob.print();
} catch (PrinterException ex) …Run Code Online (Sandbox Code Playgroud) 对于学校作业,我们正在使用JavaFX中的ObservableList对象(对吗?).我已经在这一天工作了一天以上,无法解决这个问题.老师只告诉我们'谷歌',所以也没有帮助..
基本上,我们正在开发一个基本的管理应用程序来跟踪人员及其家人.人们是一个家庭的成员,一个家庭可以有多个成员.
当添加一个人或一个人时,他们被添加到一个observableList,然后应该更新一个ArrayList(所以数据可以被序列化)和一个GUI元素.这就是问题所在.
我们目前有以下实施:
private List<Persoon> personen;
private List<Gezin> gezinnen;
this.personen = new ArrayList<Persoon>();
this.gezinnen = new ArrayList<Gezin>();
private transient ObservableList<Persoon> observablePersonen;
private transient ObservableList<Gezin> observableGezinnen;
observablePersonen = FXCollections.observableArrayList(personen);
observableGezinnen = FXCollections.observableArrayList(gezinnen);
Run Code Online (Sandbox Code Playgroud)
然后,当添加项目时,我们执行以下操作:
Persoon p = new Persoon();
observablePersonen.add(p);
observablePersonen.notifyAll();
Run Code Online (Sandbox Code Playgroud)
在此之后,当我们检查'personen'列表时,添加的对象不存在:(
我们缺少明显的东西吗?
我正在编写一个 Spring Boot 应用程序,并尝试使用@Value注释从属性文件中加载一些值。但是,带有此注释的变量仍然为空,即使我认为它们应该获得一个值。
这些文件位于src/main/resources/custom.propertes和 中src/main/java/MyClass.java。
(我已经删除了我认为与下面的片段无关的部分代码)
我的类
@Component
@PropertySource("classpath:custom.properties")
public class MyClass {
@Value("${my.property:default}")
private String myProperty;
public MyClass() {
System.out.println(myProperty); // throws NullPointerException
}
}
Run Code Online (Sandbox Code Playgroud)
自定义属性
my.property=hello, world!
Run Code Online (Sandbox Code Playgroud)
我应该怎么做才能确保我可以从我的属性文件中读取值?
谢谢!