달력

42024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

[MyBatis] Parameter NULL 처리방법

 

[MyBatis] Parameter NULL 처리방법

 

 

 

 

NULL이 들어갈 수 있는 값에 대해 처리를 해주지 않으면 위와같은 ERROR가 뜬다.

 

방법1. Mapper.xml에서 타입명시

 

NULL로 세팅 되는 값에 jdbdType

을 명시해준다.

 

~~~~  #{board_viewcount, jdbcType=INTEGER}, #{board_content, jdbcType=VARCHAR}, ~~~~

 

=> NULL이 될 수 있는 타입에 모두 명시를 해줘야한다.

 

[지원하는 jdbcType 종류]

 

 

방법2. mybatis-config.xml에서 처리

 

방법1과 같은 방법은 하나하나 다 명시를 해줘야하고 다른 쿼리를 추가하게 되면 또 추가를 해야 하지만 이 방법은 mybatis-config.xml에 한 번 적어두기만 하면 된다.

 

<configuration> 

   <settings>            <!-- <settings>이 없으면 만들어줍니다. -->

     <setting name="jdbcTypeForNull" value="NULL" />

   <settings>

<configuration>

 

=> <settings> 태그를 <typeAliases> 아래에 두면 <configuration> 태그에 빨간줄(ERROR)이 생긴다. 그러니 위에 두자.

 

아래와 같이 설정하면 된다.

 

mybatis-config.xml

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE configuration

  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

  "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>

<!-- catcheEnabled =>  default값은 true이다. 아래와 같이 false 설정을 하면 모든 mapper xml의 cache 선언이 무효화가 됨 -->

    <settings>

        <setting name="cacheEnabled" value="false" />

        <setting name="jdbcTypeForNull" value="NULL" />

    </settings>

    

  <typeAliases>

    <package name="com.example.test"/>    

  </typeAliases>

 

</configuration>

Colored by Color Scripter

cs

 

 

'Programing' 카테고리의 다른 글

git, github 이용하기#1  (0) 2016.12.29
Posted by 한설림
|