有没有人知道一个好的Java库将挂钩到SVN所以我可以提取数据?我想要SVN评论,作者,路径等...希望有了这些数据,我可以建立一个更好的时间管理跟踪系统.
我将有一个需要以多种方式主题的网站.我想从数据库中提取主题信息,以避免每次需要新主题时重新部署.我读过你可以创建一个自定义的ThemeSource实现,但不确定如何实现数据库驱动的主题源.有人在Spring MVC中有过这方面的经验吗?
我有一个小的示例Spring Batch应用程序,该应用程序在首次启动时可以正常运行,但是每当我关闭该应用程序并重新启动jar时,我总是会收到此错误:
Caused by: org.springframework.dao.DuplicateKeyException: PreparedStatementCallback; SQL [INSERT into BATCH_JOB_INSTANCE(JOB_INSTANCE_ID, JOB_NAME, JOB_KEY, VERSION) values (?, ?, ?, ?)]; Duplicate entry '1' for key 1; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '1' for key 1
Run Code Online (Sandbox Code Playgroud)
我不确定作业增量器设置是否错误。但是就像我说的那样,我可以启动它,然后使用Web服务url /jobLauncher.html任意次调用批处理。只有在我关闭应用程序并重新启动它之后,我才收到此错误。它想为作业执行表使用ID 1,但以前的运行中已经有ID 1。
主班
@EnableAutoConfiguration
@ComponentScan
public class Application {
public static void main(String[] args) throws Exception {
SpringApplication.run(Application.class, new String[]{ "date=" + System.currentTimeMillis() });
}
}
Run Code Online (Sandbox Code Playgroud)
Web服务类
@Controller
public class JobLauncherController {
@Autowired
JobLauncher jobLauncher;
@Autowired
Job job;
@RequestMapping("/jobLauncher.html")
@ResponseBody
public String handle() …Run Code Online (Sandbox Code Playgroud) 这是在我的代码中找到的一个相当难的错误,但是一旦我发现它我很惊讶编译器没有抓住它或理解为什么它是有效的.
val my_string =
"abc" +
"def"
"ghi"
Run Code Online (Sandbox Code Playgroud)
值my_string结束了"abcdef",因为我错过了+之后的标志"def".为什么编译器没有抱怨和发生了"ghi"什么?
我对Scala很新,但我想知道解决这个问题的首选方法是什么.假设我有一个项目列表,我想知道检查项目的总数.我可以这样做:
val total = items.filter(_.itemType == CHECK).map(._amount).sum
Run Code Online (Sandbox Code Playgroud)
这将给我我需要的东西,即不可变变量中所有检查的总和.但它看起来像是3次迭代.一旦过滤检查,再次映射金额,然后总和.另一种方法是做一些事情:
var total = new BigDecimal(0)
for (
item <- items
if item.itemType == CHECK
) total += item.amount
Run Code Online (Sandbox Code Playgroud)
这给了我相同的结果,但是1次迭代和一个可变变量看起来也很好.但是,如果我想提取更多信息,比如支票总数,那就需要更多的计数器或可变变量,但我不必再次遍历列表.似乎不是实现我需要的"功能"方式.
var numOfChecks = 0
var total = new BigDecimal(0)
items.foreach { item =>
if (item.itemType == CHECK) {
numOfChecks += 1
total += item.amount
}
}
Run Code Online (Sandbox Code Playgroud)
因此,如果您发现自己需要在列表中使用一堆计数器或总计,则首选保留可变变量或不担心它会执行以下操作:
val checks = items.filter(_.itemType == CHECK)
val total = checks.map(_.amount).sum
return (checks.size, total)
Run Code Online (Sandbox Code Playgroud)
这似乎更容易阅读,只能使用 vals
如果该表不包含某种类型的数据,我需要一种能够从表中进行选择的方法.
例如,如果我们有一个被调用的表farm和另一个被调用的表animal.现在,FarmA包含一只猪和一只山羊,而FarmB只包含一只山羊.我想选择所有不含猪的农场.
我的第一次尝试是这样做的:
SELECT f.*
FROM farm f
INNER JOIN animal a ON f.Id = a.FarmId
WHERE a.Name <> 'pig';
但是这仍然让我回到了FarmA,因为它包含一只山羊,但我不希望它返回任何有猪的农场.
我尝试了一些subquerys并使用not exists但是也没用.我确信这很容易,我无法正确构建我的查询.
java ×2
scala ×2
spring ×1
spring-batch ×1
spring-boot ×1
spring-mvc ×1
sql ×1
sql-server ×1
svn ×1