-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Support buildship * Add java-17 module * Add a notice for Eclipse users
- Loading branch information
1 parent
eba733c
commit cf0b7ed
Showing
15 changed files
with
529 additions
and
2 deletions.
There are no files selected for viewing
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
.classpath | ||
.factorypath | ||
.project | ||
.settings | ||
/.apt_generated | ||
/bin | ||
/build | ||
.gradle | ||
.idea | ||
out | ||
/.apt_generated_tests/ | ||
.sdkmanrc |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
plugins { | ||
application | ||
} | ||
|
||
application { | ||
mainClass.set("boilerplate.java17.Main") | ||
} | ||
|
||
java { | ||
toolchain { | ||
languageVersion.set(JavaLanguageVersion.of(17)) | ||
} | ||
} | ||
|
||
eclipse { | ||
jdt { | ||
javaRuntimeName = "JavaSE-17" | ||
} | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
package boilerplate.java17; | ||
|
||
import java.util.Objects; | ||
import javax.sql.DataSource; | ||
import org.seasar.doma.jdbc.Config; | ||
import org.seasar.doma.jdbc.JdbcLogger; | ||
import org.seasar.doma.jdbc.dialect.Dialect; | ||
import org.seasar.doma.jdbc.tx.LocalTransactionDataSource; | ||
import org.seasar.doma.jdbc.tx.TransactionManager; | ||
|
||
public class DbConfig implements Config { | ||
|
||
private final Dialect dialect; | ||
private final LocalTransactionDataSource dataSource; | ||
private final JdbcLogger jdbcLogger; | ||
private final TransactionManager transactionManager; | ||
|
||
public DbConfig( | ||
Dialect dialect, | ||
LocalTransactionDataSource dataSource, | ||
JdbcLogger jdbcLogger, | ||
TransactionManager transactionManager) { | ||
this.dialect = Objects.requireNonNull(dialect); | ||
this.dataSource = Objects.requireNonNull(dataSource); | ||
this.jdbcLogger = Objects.requireNonNull(jdbcLogger); | ||
this.transactionManager = Objects.requireNonNull(transactionManager); | ||
} | ||
|
||
@Override | ||
public Dialect getDialect() { | ||
return dialect; | ||
} | ||
|
||
@Override | ||
public DataSource getDataSource() { | ||
return dataSource; | ||
} | ||
|
||
@Override | ||
public JdbcLogger getJdbcLogger() { | ||
return jdbcLogger; | ||
} | ||
|
||
@Override | ||
public TransactionManager getTransactionManager() { | ||
return transactionManager; | ||
} | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
package boilerplate.java17; | ||
|
||
import boilerplate.java17.dao.AppDaoImpl; | ||
import boilerplate.java17.repository.EmployeeRepository; | ||
import org.seasar.doma.jdbc.Config; | ||
import org.seasar.doma.jdbc.dialect.H2Dialect; | ||
import org.seasar.doma.jdbc.tx.LocalTransactionDataSource; | ||
import org.seasar.doma.jdbc.tx.LocalTransactionManager; | ||
import org.seasar.doma.slf4j.Slf4jJdbcLogger; | ||
|
||
public class Main { | ||
|
||
public static void main(String[] args) { | ||
var config = createConfig(); | ||
var tm = config.getTransactionManager(); | ||
|
||
// setup database | ||
var appDao = new AppDaoImpl(config); | ||
tm.required(appDao::create); | ||
|
||
// read and update | ||
tm.required( | ||
() -> { | ||
var repository = new EmployeeRepository(config); | ||
var employee = repository.selectById(1); | ||
employee.age += 1; | ||
repository.update(employee); | ||
}); | ||
} | ||
|
||
private static Config createConfig() { | ||
var dialect = new H2Dialect(); | ||
var dataSource = | ||
new LocalTransactionDataSource("jdbc:h2:mem:tutorial;DB_CLOSE_DELAY=-1", "sa", null); | ||
var jdbcLogger = new Slf4jJdbcLogger(); | ||
var transactionManager = new LocalTransactionManager(dataSource, jdbcLogger); | ||
return new DbConfig(dialect, dataSource, jdbcLogger, transactionManager); | ||
} | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
package boilerplate.java17.dao; | ||
|
||
import org.seasar.doma.Dao; | ||
import org.seasar.doma.Script; | ||
import org.seasar.doma.Sql; | ||
|
||
@Dao | ||
public interface AppDao { | ||
|
||
@Sql( | ||
""" | ||
create sequence employee_seq start with 100 increment by 1; | ||
create table employee ( | ||
id integer not null primary key, | ||
name varchar(255) not null, | ||
age integer not null,\s | ||
version integer not null); | ||
insert into employee values(1,'ALLEN',30, 0); | ||
insert into employee values(2,'WARD',32, 0); | ||
insert into employee values(3,'JONES',38, 0); | ||
""") | ||
@Script | ||
void create(); | ||
|
||
@Sql(""" | ||
drop sequence employee_seq; | ||
drop table employee; | ||
""") | ||
@Script | ||
void drop(); | ||
} |
47 changes: 47 additions & 0 deletions
47
java-17/src/main/java/boilerplate/java17/dao/EmployeeDao.java
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
package boilerplate.java17.dao; | ||
|
||
import boilerplate.java17.entity.Employee; | ||
import java.util.List; | ||
import org.seasar.doma.Dao; | ||
import org.seasar.doma.Delete; | ||
import org.seasar.doma.Insert; | ||
import org.seasar.doma.Select; | ||
import org.seasar.doma.Sql; | ||
import org.seasar.doma.Update; | ||
|
||
@Dao | ||
public interface EmployeeDao { | ||
|
||
@Sql( | ||
""" | ||
select | ||
/*%expand*/* | ||
from | ||
employee | ||
order by | ||
id | ||
""") | ||
@Select | ||
List<Employee> selectAll(); | ||
|
||
@Sql( | ||
""" | ||
select | ||
/*%expand*/* | ||
from | ||
employee | ||
where | ||
id = /* id */0 | ||
""") | ||
@Select | ||
Employee selectById(Integer id); | ||
|
||
@Insert | ||
int insert(Employee employee); | ||
|
||
@Update | ||
int update(Employee employee); | ||
|
||
@Delete | ||
int delete(Employee employee); | ||
} |
29 changes: 29 additions & 0 deletions
29
java-17/src/main/java/boilerplate/java17/entity/Employee.java
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
package boilerplate.java17.entity; | ||
|
||
import org.seasar.doma.Entity; | ||
import org.seasar.doma.GeneratedValue; | ||
import org.seasar.doma.GenerationType; | ||
import org.seasar.doma.Id; | ||
import org.seasar.doma.Metamodel; | ||
import org.seasar.doma.SequenceGenerator; | ||
import org.seasar.doma.Version; | ||
|
||
@Entity(metamodel = @Metamodel) | ||
public class Employee { | ||
|
||
@Id | ||
@GeneratedValue(strategy = GenerationType.SEQUENCE) | ||
@SequenceGenerator(sequence = "EMPLOYEE_SEQ") | ||
public Integer id; | ||
|
||
public String name; | ||
|
||
public Integer age; | ||
|
||
@Version public Integer version; | ||
|
||
@Override | ||
public String toString() { | ||
return "Employee [id=" + id + ", name=" + name + ", age=" + age + ", version=" + version + "]"; | ||
} | ||
} |
43 changes: 43 additions & 0 deletions
43
java-17/src/main/java/boilerplate/java17/repository/EmployeeRepository.java
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
package boilerplate.java17.repository; | ||
|
||
import boilerplate.java17.entity.Employee; | ||
import boilerplate.java17.entity.Employee_; | ||
import java.util.List; | ||
import java.util.Objects; | ||
import org.seasar.doma.jdbc.Config; | ||
import org.seasar.doma.jdbc.criteria.Entityql; | ||
|
||
public class EmployeeRepository { | ||
|
||
private final Entityql entityql; | ||
|
||
public EmployeeRepository(Config config) { | ||
Objects.requireNonNull(config); | ||
this.entityql = new Entityql(config); | ||
} | ||
|
||
public List<Employee> selectAll() { | ||
var e = new Employee_(); | ||
return entityql.from(e).fetch(); | ||
} | ||
|
||
public Employee selectById(Integer id) { | ||
var e = new Employee_(); | ||
return entityql.from(e).where(c -> c.eq(e.id, id)).fetchOne(); | ||
} | ||
|
||
public void insert(Employee employee) { | ||
var e = new Employee_(); | ||
entityql.insert(e, employee).execute(); | ||
} | ||
|
||
public void update(Employee employee) { | ||
var e = new Employee_(); | ||
entityql.update(e, employee).execute(); | ||
} | ||
|
||
public void delete(Employee employee) { | ||
var e = new Employee_(); | ||
entityql.delete(e, employee).execute(); | ||
} | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
<configuration> | ||
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> | ||
<encoder> | ||
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> | ||
</encoder> | ||
</appender> | ||
|
||
<logger name="org.seasar.doma.jdbc.LogKind.SQL" level="debug"/> | ||
<logger name="org.seasar.doma.jdbc.LogKind.SQL.SCRIPT" level="off"/> | ||
|
||
<root level="info"> | ||
<appender-ref ref="STDOUT" /> | ||
</root> | ||
</configuration> |
Oops, something went wrong.