Skip to content

Commit 80a07d4

Browse files
committed
MyBatis Generator 정리
1. 테이블들의 날짜 타입을 DB는 TIMESTAMP로 바꿈 2. bno, rno 등은 NUMBER(18)로 바꿈 3. 열거형 타입 핸들러와 관계없는 컬럼들은 jdbcType 정의를 내가 임의로 적지 않고 알아서하게 지움
1 parent 506a6d7 commit 80a07d4

12 files changed

Lines changed: 55 additions & 49 deletions

File tree

part-last/my-board-mds/docker/init-scripts/01_schema.sql

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,21 @@ CONNECT book_ex/book_ex@//localhost:1521/FREEPDB1
1010
CREATE SEQUENCE IF NOT EXISTS seq_board START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
1111
CREATE TABLE IF NOT EXISTS tbl_board
1212
(
13-
bno NUMBER(10, 0),
13+
bno NUMBER(18),
1414
title VARCHAR2(200) NOT NULL,
1515
content VARCHAR2(2000) NOT NULL,
1616
writer VARCHAR2(50) NOT NULL,
17-
regdate DATE DEFAULT SYSDATE,
18-
updatedate DATE DEFAULT SYSDATE,
19-
replycnt NUMBER(10) DEFAULT 0,
17+
regdate TIMESTAMP(6) DEFAULT SYSTIMESTAMP,
18+
updatedate TIMESTAMP(6) DEFAULT SYSTIMESTAMP,
19+
replycnt NUMBER(10) DEFAULT 0,
2020
CONSTRAINT pk_board PRIMARY KEY (bno)
2121
);
2222

2323
CREATE SEQUENCE IF NOT EXISTS seq_reply START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
2424
CREATE TABLE IF NOT EXISTS tbl_reply
2525
(
26-
rno NUMBER(19) NOT NULL,
27-
bno NUMBER(19) NOT NULL,
26+
rno NUMBER(18) NOT NULL,
27+
bno NUMBER(18) NOT NULL,
2828
reply VARCHAR2(1000) NOT NULL,
2929
replyer VARCHAR2(50) NOT NULL,
3030
replydate TIMESTAMP(6) DEFAULT SYSTIMESTAMP,
@@ -42,7 +42,7 @@ CREATE TABLE IF NOT EXISTS tbl_attach
4242
uploadpath VARCHAR2(200) NOT NULL,
4343
filename VARCHAR2(100) NOT NULL,
4444
filetype CHAR(1) DEFAULT 'I',
45-
bno NUMBER(10, 0),
45+
bno NUMBER(18),
4646
CONSTRAINT pk_attach PRIMARY KEY (uuid)
4747
);
4848

@@ -54,9 +54,9 @@ CREATE TABLE IF NOT EXISTS tbl_member
5454
userid VARCHAR2(50) NOT NULL,
5555
userpw VARCHAR2(200) NOT NULL,
5656
username VARCHAR2(100) NOT NULL,
57+
regdate TIMESTAMP(6) DEFAULT SYSTIMESTAMP,
58+
updatedate TIMESTAMP(6) DEFAULT SYSTIMESTAMP,
5759
enabled CHAR(1) CHECK (enabled IN ('Y', 'N')) NOT NULL,
58-
regdate DATE DEFAULT SYSDATE,
59-
updatedate DATE DEFAULT SYSDATE,
6060
CONSTRAINT pk_member PRIMARY KEY (userid)
6161
);
6262

part-last/my-board-mds/generatorConfig.xml

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
</commentGenerator>
1919

2020
<jdbcConnection
21-
connectionURL="jdbc:oracle:thin:@localvmdb.oracle_xe_18c:1521:XE"
21+
connectionURL="jdbc:oracle:thin:@//localhost:1521/FREEPDB1"
2222
driverClass="oracle.jdbc.OracleDriver"
2323
password="book_ex"
2424
userId="book_ex"
@@ -49,16 +49,13 @@
4949
<generatedKey column="bno" identity="false"
5050
sqlStatement="SELECT seq_board.nextval FROM DUAL"/>
5151

52-
<!-- Oracle에서 bno 컬럼을 NUMBER(10,0)으로 설정했는데, 일단은 BIGINT로 써본다. -->
53-
<columnOverride column="bno" property="bno" jdbcType='BIGINT' javaType='java.lang.Long'/>
54-
<columnOverride column="regdate" property="regdate" jdbcType='DATE'
52+
<!-- Oracle에서 bno 컬럼을 NUMBER(18)으로 설정 jdbcType은 따로 지정하지 않으면 NUMERIC으로 설정된다. -->
53+
<columnOverride column="bno" property="bno" javaType='java.lang.Long'/>
54+
<columnOverride column="regdate" property="regdate"
5555
javaType='java.time.LocalDateTime'/>
56-
<columnOverride column="updatedate" property="updateDate" jdbcType='DATE'
56+
<columnOverride column="updatedate" property="updateDate"
5757
javaType='java.time.LocalDateTime'/>
58-
59-
<columnOverride column="updatedate" property="updateDate" jdbcType='DATE'
60-
javaType='java.time.LocalDateTime'/>
61-
<columnOverride column="replycnt" property="replyCount" jdbcType='BIGINT' javaType='int'/>
58+
<columnOverride column="replycnt" property="replyCount" javaType='int'/>
6259

6360
</table>
6461

@@ -70,11 +67,10 @@
7067
<generatedKey column="rno" identity="false"
7168
sqlStatement="SELECT seq_reply.nextval FROM DUAL"/>
7269

73-
<!-- Oracle에서 bno 컬럼을 NUMBER(10,0)으로 설정했는데, 일단은 BIGINT로 써본다. -->
74-
<columnOverride column="rno" property="rno" jdbcType='BIGINT' javaType='java.lang.Long'/>
75-
<columnOverride column="replydate" property="replyDate" jdbcType='DATE'
70+
<columnOverride column="rno" property="rno" javaType='java.lang.Long'/>
71+
<columnOverride column="replydate" property="replyDate"
7672
javaType='java.time.LocalDateTime'/>
77-
<columnOverride column="updatedate" property="updateDate" jdbcType='DATE'
73+
<columnOverride column="updatedate" property="updateDate"
7874
javaType='java.time.LocalDateTime'/>
7975
</table>
8076

@@ -87,7 +83,7 @@
8783
<columnOverride column="filetype" property="fileType" jdbcType="CHAR"
8884
javaType="org.fp024.domain.FileType"
8985
typeHandler="org.fp024.typehandler.CustomEnumTypeHandler"/>
90-
<columnOverride column="bno" property="bno" jdbcType='BIGINT' javaType='java.lang.Long'/>
86+
<columnOverride column="bno" property="bno" javaType="java.lang.Long"/>
9187
</table>
9288

9389
<!--
@@ -108,9 +104,9 @@
108104
<columnOverride column="USERPW" property="userPassword"/>
109105
<columnOverride column="USERNAME" property="userName"/>
110106

111-
<columnOverride column="REGDATE" property="registerDate" jdbcType='DATE'
112-
javaType='java.time.LocalDateTime'/>
113-
<columnOverride column="UPDATEDATE" property="updateDate" jdbcType='DATE'
107+
<columnOverride column="REGDATE" property="registerDate"
108+
javaType="java.time.LocalDateTime"/>
109+
<columnOverride column="UPDATEDATE" property="updateDate"
114110
javaType='java.time.LocalDateTime'/>
115111

116112
<columnOverride column="ENABLED" property="enabled" jdbcType="CHAR"

part-last/my-board-mds/src/main/java/org/fp024/mapper/generated/AuthMapper.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.fp024.mapper.generated;
22

33
import static org.fp024.mapper.generated.AuthVODynamicSqlSupport.*;
4+
import static org.mybatis.dynamic.sql.SqlBuilder.isEqualTo;
45

56
import jakarta.annotation.Generated;
67
import java.util.Collection;
@@ -12,6 +13,7 @@
1213
import org.apache.ibatis.annotations.Results;
1314
import org.apache.ibatis.annotations.SelectProvider;
1415
import org.apache.ibatis.type.JdbcType;
16+
import org.fp024.domain.MemberAuthType;
1517
import org.fp024.domain.generated.AuthVO;
1618
import org.fp024.typehandler.CustomEnumTypeHandler;
1719
import org.mybatis.dynamic.sql.BasicColumn;
@@ -37,8 +39,8 @@ public interface AuthMapper extends CommonCountMapper, CommonDeleteMapper, Commo
3739
@Generated("org.mybatis.generator.api.MyBatisGenerator")
3840
@SelectProvider(type=SqlProviderAdapter.class, method="select")
3941
@Results(id="AuthVOResult", value = {
40-
@Result(column="USERID", property="userId", jdbcType=JdbcType.VARCHAR),
41-
@Result(column="AUTH", property="auth", typeHandler=CustomEnumTypeHandler.class, jdbcType=JdbcType.VARCHAR)
42+
@Result(column="USERID", property="userId", jdbcType=JdbcType.VARCHAR, id=true),
43+
@Result(column="AUTH", property="auth", typeHandler=CustomEnumTypeHandler.class, jdbcType=JdbcType.VARCHAR, id=true)
4244
})
4345
List<AuthVO> selectMany(SelectStatementProvider selectStatement);
4446

@@ -57,6 +59,14 @@ default int delete(DeleteDSLCompleter completer) {
5759
return MyBatis3Utils.deleteFrom(this::delete, authVO, completer);
5860
}
5961

62+
@Generated("org.mybatis.generator.api.MyBatisGenerator")
63+
default int deleteByPrimaryKey(String userId_, MemberAuthType auth_) {
64+
return delete(c ->
65+
c.where(userId, isEqualTo(userId_))
66+
.and(auth, isEqualTo(auth_))
67+
);
68+
}
69+
6070
@Generated("org.mybatis.generator.api.MyBatisGenerator")
6171
default int insert(AuthVO row) {
6272
return MyBatis3Utils.insert(this::insert, row, authVO, c ->

part-last/my-board-mds/src/main/java/org/fp024/mapper/generated/BoardAttachMapper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public interface BoardAttachMapper extends CommonCountMapper, CommonDeleteMapper
4242
@Result(column="UPLOADPATH", property="uploadPath", jdbcType=JdbcType.VARCHAR),
4343
@Result(column="FILENAME", property="fileName", jdbcType=JdbcType.VARCHAR),
4444
@Result(column="FILETYPE", property="fileType", typeHandler=CustomEnumTypeHandler.class, jdbcType=JdbcType.CHAR),
45-
@Result(column="BNO", property="bno", jdbcType=JdbcType.BIGINT)
45+
@Result(column="BNO", property="bno", jdbcType=JdbcType.NUMERIC)
4646
})
4747
List<BoardAttachVO> selectMany(SelectStatementProvider selectStatement);
4848

part-last/my-board-mds/src/main/java/org/fp024/mapper/generated/BoardAttachVODynamicSqlSupport.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public static final class BoardAttachVO extends AliasableSqlTable<BoardAttachVO>
3535

3636
public final SqlColumn<FileType> fileType = column("FILETYPE", JDBCType.CHAR, "org.fp024.typehandler.CustomEnumTypeHandler");
3737

38-
public final SqlColumn<Long> bno = column("BNO", JDBCType.BIGINT);
38+
public final SqlColumn<Long> bno = column("BNO", JDBCType.NUMERIC);
3939

4040
public BoardAttachVO() {
4141
super("TBL_ATTACH", BoardAttachVO::new);

part-last/my-board-mds/src/main/java/org/fp024/mapper/generated/BoardMapper.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,13 @@ public interface BoardMapper extends CommonCountMapper, CommonDeleteMapper, Comm
4343
@Generated("org.mybatis.generator.api.MyBatisGenerator")
4444
@SelectProvider(type=SqlProviderAdapter.class, method="select")
4545
@Results(id="BoardVOResult", value = {
46-
@Result(column="BNO", property="bno", jdbcType=JdbcType.BIGINT, id=true),
46+
@Result(column="BNO", property="bno", jdbcType=JdbcType.NUMERIC, id=true),
4747
@Result(column="TITLE", property="title", jdbcType=JdbcType.VARCHAR),
4848
@Result(column="CONTENT", property="content", jdbcType=JdbcType.VARCHAR),
4949
@Result(column="WRITER", property="writer", jdbcType=JdbcType.VARCHAR),
50-
@Result(column="REGDATE", property="regdate", jdbcType=JdbcType.DATE),
51-
@Result(column="UPDATEDATE", property="updateDate", jdbcType=JdbcType.DATE),
52-
@Result(column="REPLYCNT", property="replyCount", jdbcType=JdbcType.BIGINT)
50+
@Result(column="REGDATE", property="regdate", jdbcType=JdbcType.TIMESTAMP),
51+
@Result(column="UPDATEDATE", property="updateDate", jdbcType=JdbcType.TIMESTAMP),
52+
@Result(column="REPLYCNT", property="replyCount", jdbcType=JdbcType.NUMERIC)
5353
})
5454
List<BoardVO> selectMany(SelectStatementProvider selectStatement);
5555

part-last/my-board-mds/src/main/java/org/fp024/mapper/generated/BoardVODynamicSqlSupport.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,19 +33,19 @@ public final class BoardVODynamicSqlSupport {
3333

3434
@Generated("org.mybatis.generator.api.MyBatisGenerator")
3535
public static final class BoardVO extends AliasableSqlTable<BoardVO> {
36-
public final SqlColumn<Long> bno = column("BNO", JDBCType.BIGINT);
36+
public final SqlColumn<Long> bno = column("BNO", JDBCType.NUMERIC);
3737

3838
public final SqlColumn<String> title = column("TITLE", JDBCType.VARCHAR);
3939

4040
public final SqlColumn<String> content = column("CONTENT", JDBCType.VARCHAR);
4141

4242
public final SqlColumn<String> writer = column("WRITER", JDBCType.VARCHAR);
4343

44-
public final SqlColumn<LocalDateTime> regdate = column("REGDATE", JDBCType.DATE);
44+
public final SqlColumn<LocalDateTime> regdate = column("REGDATE", JDBCType.TIMESTAMP);
4545

46-
public final SqlColumn<LocalDateTime> updateDate = column("UPDATEDATE", JDBCType.DATE);
46+
public final SqlColumn<LocalDateTime> updateDate = column("UPDATEDATE", JDBCType.TIMESTAMP);
4747

48-
public final SqlColumn<Integer> replyCount = column("REPLYCNT", JDBCType.BIGINT);
48+
public final SqlColumn<Integer> replyCount = column("REPLYCNT", JDBCType.NUMERIC);
4949

5050
public BoardVO() {
5151
super("TBL_BOARD", BoardVO::new);

part-last/my-board-mds/src/main/java/org/fp024/mapper/generated/MemberMapper.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ public interface MemberMapper extends CommonCountMapper, CommonDeleteMapper, Com
4141
@Result(column="USERID", property="userId", jdbcType=JdbcType.VARCHAR, id=true),
4242
@Result(column="USERPW", property="userPassword", jdbcType=JdbcType.VARCHAR),
4343
@Result(column="USERNAME", property="userName", jdbcType=JdbcType.VARCHAR),
44-
@Result(column="REGDATE", property="registerDate", jdbcType=JdbcType.DATE),
45-
@Result(column="UPDATEDATE", property="updateDate", jdbcType=JdbcType.DATE),
44+
@Result(column="REGDATE", property="registerDate", jdbcType=JdbcType.TIMESTAMP),
45+
@Result(column="UPDATEDATE", property="updateDate", jdbcType=JdbcType.TIMESTAMP),
4646
@Result(column="ENABLED", property="enabled", typeHandler=CustomEnumTypeHandler.class, jdbcType=JdbcType.CHAR)
4747
})
4848
List<MemberVO> selectMany(SelectStatementProvider selectStatement);

part-last/my-board-mds/src/main/java/org/fp024/mapper/generated/MemberVODynamicSqlSupport.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,9 @@ public static final class MemberVO extends AliasableSqlTable<MemberVO> {
3737

3838
public final SqlColumn<String> userName = column("USERNAME", JDBCType.VARCHAR);
3939

40-
public final SqlColumn<LocalDateTime> registerDate = column("REGDATE", JDBCType.DATE);
40+
public final SqlColumn<LocalDateTime> registerDate = column("REGDATE", JDBCType.TIMESTAMP);
4141

42-
public final SqlColumn<LocalDateTime> updateDate = column("UPDATEDATE", JDBCType.DATE);
42+
public final SqlColumn<LocalDateTime> updateDate = column("UPDATEDATE", JDBCType.TIMESTAMP);
4343

4444
public final SqlColumn<EnabledType> enabled = column("ENABLED", JDBCType.CHAR, "org.fp024.typehandler.CustomEnumTypeHandler");
4545

part-last/my-board-mds/src/main/java/org/fp024/mapper/generated/ReplyMapper.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,12 @@ public interface ReplyMapper extends CommonCountMapper, CommonDeleteMapper, Comm
4343
@Generated("org.mybatis.generator.api.MyBatisGenerator")
4444
@SelectProvider(type=SqlProviderAdapter.class, method="select")
4545
@Results(id="ReplyVOResult", value = {
46-
@Result(column="RNO", property="rno", jdbcType=JdbcType.BIGINT, id=true),
46+
@Result(column="RNO", property="rno", jdbcType=JdbcType.NUMERIC, id=true),
4747
@Result(column="BNO", property="bno", jdbcType=JdbcType.NUMERIC),
4848
@Result(column="REPLY", property="reply", jdbcType=JdbcType.VARCHAR),
4949
@Result(column="REPLYER", property="replyer", jdbcType=JdbcType.VARCHAR),
50-
@Result(column="REPLYDATE", property="replyDate", jdbcType=JdbcType.DATE),
51-
@Result(column="UPDATEDATE", property="updateDate", jdbcType=JdbcType.DATE)
50+
@Result(column="REPLYDATE", property="replyDate", jdbcType=JdbcType.TIMESTAMP),
51+
@Result(column="UPDATEDATE", property="updateDate", jdbcType=JdbcType.TIMESTAMP)
5252
})
5353
List<ReplyVO> selectMany(SelectStatementProvider selectStatement);
5454

0 commit comments

Comments
 (0)