๐Ÿ“š [JPA] H2 DB์—์„œ MySQL DB๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ

์ด๊ฐ€์€ยท2024๋…„ 5์›” 16์ผ
0

Spring

๋ชฉ๋ก ๋ณด๊ธฐ
9/13
post-thumbnail

๐Ÿ“• MySQL Workbench

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” GUI ๋„๊ตฌ
โœ” MySQL Workbench ์„ค์น˜
โœ” MySQL Community ์„ค์น˜

  1. Schema ์ถ”๊ฐ€
    โ—ฝ ๋นจ๊ฐ„ ๋„ค๋ชจ๋ฅผ ํด๋ฆญํ•ด์„œ Schema๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

  2. ํ…Œ์ด๋ธ” ์ถ”๊ฐ€
    โ—ฝ ๋ฐฉ๋ฒ• 1) ๋นจ๊ฐ„ ๋„ค๋ชจ๋ฅผ ํด๋ฆญํ•œ ํ›„, ํŒŒ๋ž€ ๋„ค๋ชจ์— ๋“ค์–ด๊ฐˆ ์ปฌ๋Ÿผ์„ ์ž…๋ ฅํ•œ๋‹ค.

    โ—ฝ ๋ฐฉ๋ฒ• 2) Query์— ์•„๋ž˜ Query๋ฌธ์„ ์ž…๋ ฅํ•œ๋‹ค.

    use member;
    
    CREATE TABLE Member (
        id BIGINT NOT NULL,
        name VARCHAR(255),
        PRIMARY KEY (id)
    );
    
    INSERT INTO member VALUES (1, '์ด๊ฐ€์€');
    
    SELECT * FROM member;

๐Ÿ“™ H2 DB์—์„œ MySQL DB๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ

๐ŸŽˆ persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.2"
             xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd">
    <persistence-unit name="hello">
        <properties>
            <!-- ํ•„์ˆ˜ ์†์„ฑ -->
            <property name="jakarta.persistence.jdbc.driver" value="com.mysql.cj.jdbc.Driver"/>
            <property name="jakarta.persistence.jdbc.user" value="user"/>
            <property name="jakarta.persistence.jdbc.password" value="password"/>
            <property name="jakarta.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/member?serverTimezone=UTC"/>
            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
            <!-- ์˜ต์…˜ -->
            <property name="hibernate.show_sql" value="true"/>
            <property name="hibernate.format_sql" value="true"/>
            <property name="hibernate.use_sql_comments" value="true"/>
            <!--<property name="hibernate.hbm2ddl.auto" value="create" />-->
        </properties>
    </persistence-unit>
</persistence>

โœ” driver, user, password, url, dialect value ์ˆ˜์ •

๐ŸŽˆ pom.xml

<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
	<version>8.0.33</version>
</dependency>

โœ” mysql dependency ์ถ”๊ฐ€

๐ŸŽˆ ํšŒ์› ๋“ฑ๋ก ํ…Œ์ŠคํŠธ

try {
	Member member = new Member();
	member.setId(2L);
	member.setName("Hello");

	em.persist(member);

	tx.commit();
} catch(Exception e) {
	tx.rollback();
} finally {
	em.close();
}

๐Ÿ“š ์ฐธ๊ณ ์ž๋ฃŒ

๐Ÿ“– MySQL Workbench ์„ค์น˜
๐Ÿ“– MySQL Community ์„ค์น˜

profile
๊ฐ€๋ฟก์ด์˜ ๊ณต๋ถ€ ์ƒ์ž๐Ÿ“ฆ

0๊ฐœ์˜ ๋Œ“๊ธ€