This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** Design pattern below provides setting nullable values to the prepared statement easily | |
* Set nullable value to PreparedStatement | |
* @param ps PreparedStatement object | |
* @param value Value to set | |
* @param type Type of the value at DBMS (ex: Types.VARCHAR) | |
* @param index Index of the value inside query string | |
* @return Given PreparedStatement object with the value set | |
* @throws SQLException | |
* @throws TypeConstraintException If the type of the given value not found | |
*/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT | |
t.field1, | |
t.field2, | |
contains.id is not null contains_record | |
FROM | |
table t | |
LEFT JOIN | |
(select tom.* from table_one_to_many_relation tom where tom.id = 1) contains on contains.table_id = t.id |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* By the design pattern below, you can easily run any code blocks on a Service in Spring MVC. | |
* This provides a easy usage way of threads, high code maintainability and readability. | |
*/ | |
public class SpringServiceThread { | |
@Service | |
public class ThreadService { | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Convert list to string with delimiter | |
* @param <T> class of the collection | |
* @param values Given long values | |
* @param classTypeParam Pass class type to get fields, do not set null | |
* @param fieldName Name of the field of the object to get value of | |
* @param delimiter Given delimiter | |
* @return ({1L,3L,5L} + Long.class + null + ",") --> ("1,3,5") | |
* ({{id:1},{id:2},{id:3}} + ObjectClass.class + "id" + ",") --> ("1,2,3") | |
*/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// source: http://stackoverflow.com/a/2641047/1201725 | |
// | |
// [name] is the name of the event "click", "mouseover", .. | |
// same as you'd pass it to bind() | |
// [fn] is the handler function | |
$.fn.bindFirst = function(name, fn) { | |
// bind as you normally would | |
// don't want to miss out on any jQuery magic | |
this.on(name, fn); | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
aList.stream() | |
.collect(Collectors.groupingBy(AnObject::getKeyField, toDescSortedList())) | |
.values() | |
.stream() | |
.map(list -> list.get(0)) | |
.collect(Collectors.toMap(AnObject::getKeyField, AnObject::getValueField)); | |
private static <AnObject> Collector<AnObject,?,List<AnObject>> toDescSortedList() { | |
return Collectors.collectingAndThen( | |
Collectors.toCollection(ArrayList::new), list -> { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fun main(args: Array<String>) { | |
printSongLyrics(99) | |
} | |
fun printSongLyrics(bottlesSize: Int) { | |
if (bottlesSize < 0) { | |
println("Do not enter negative values!") | |
return | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private static final ZoneId TURKEY_ZONE_ID = ZoneId.of("Turkey"); | |
private static final ZoneId UTC_ZONE_ID = ZoneId.of("UTC"); | |
public static Date convertTurkeyToUTC(Date date) { | |
return Date.from(date.toInstant().atZone(UTC_ZONE_ID).toLocalDateTime().atZone(TURKEY_ZONE_ID).toInstant()); | |
} | |
public static Date convertUTCToTurkey(Date date) { | |
return Date.from(date.toInstant().atZone(TURKEY_ZONE_ID).toLocalDateTime().atZone(UTC_ZONE_ID).toInstant()); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@PostConstruct | |
public void initialize() { | |
repository.findAllByActive(true).forEach(eachJob -> { | |
taskScheduler.schedule(() -> service.execute(eachJob), new CronTrigger(eachJob.getCronExpression())); | |
}); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
INSERT INTO scheduled_jobs (ID,NAME,application,job_type,cron_expression,created_date,last_modified_date,active,url) | |
VALUES (nextval('seq_scheduled_jobs'),'Sample bean scheduled job','test-application','bean_scheduled_job','0 0/5 * * * ?',now(),now(),TRUE,'http://localhost:6060'); | |
INSERT INTO bean_scheduled_jobs VALUES (currval('seq_scheduled_jobs'),'sampleJobService','invoke'); |
OlderNewer