/* code block */
반응형

mysql은 기본적으로 3306포트를 사용한다.

로컬 환경에서 접속을 할 것이기 때문에 주소는 localhost로 적어주었다.

public class App 
{
    private static final String dbid = "root";
    private static final String dbpw = "password";
 
    public static void main( String[] args )
    {
            
            Connection con = null;
            PreparedStatement pstmt = null;
            try {
                Class.forName("com.mysql.jdbc.Driver");
                String url = "jdbc:mysql://localhost/study_db";
                String url2 = "jdbc:mysql://localhost:3306/study_db?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC";
                con = DriverManager.getConnection(url2, dbid, dbpw);
                System.out.println("연결 성공");
                
                
                String sql = "SELECT * FROM professor";
                pstmt = con.prepareStatement(sql);
                ResultSet rs = pstmt.executeQuery();
                while (rs.next()) {
                    System.out.println(rs.getInt("phone"));
                }
            } catch (ClassNotFoundException e) {
                System.out.println("드라이버 로딩 실패");
                
            } catch (SQLException e) {
                System.out.println("에러 : "+e);
            } finally{
                try{
                    if( con != null && !con.isClosed()){
                        con.close();
                    }
                }
                catch( SQLException e){
                    e.printStackTrace();
                }
            }
            
    }
}
 

 

 

아래는 sql 라이브러리 dependency이다.

   <dependency>

        <groupId>mysql</groupId>

        <artifactId>mysql-connector-java</artifactId>

        <version>8.0.17</version>

    </dependency>

 

 

반응형

' > Java' 카테고리의 다른 글

자동으로 실행되는 WebListener 어노테이션  (0) 2019.10.24
모든 요청을 받는 서블릿  (0) 2019.10.24
jdbc에 mysql 연동시 time zone 에러  (0) 2019.10.11
서블릿 구현 - Hello world  (0) 2019.09.29
tomcat 서버 메인 함수  (0) 2019.09.29
반응형

sql 파일을 실행해서 데이터베이스를 초기화 해주었다.

package next.support.context;
 
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
 
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.jdbc.datasource.init.DatabasePopulatorUtils;
import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator;
 
import core.jdbc.ConnectionManager;
 
@WebListener
public class ContextLoaderListener implements ServletContextListener {
    private static final Logger logger = LoggerFactory.getLogger(ContextLoaderListener.class);
 
    @Override
    public void contextInitialized(ServletContextEvent sce) {
        
        ResourceDatabasePopulator populator = new ResourceDatabasePopulator();
        populator.addScript(new ClassPathResource("jwp.sql"));
        DatabasePopulatorUtils.execute(populator, ConnectionManager.getDataSource());
 
        logger.info("Completed Load ServletContext!");
    }
 
    @Override
    public void contextDestroyed(ServletContextEvent sce) {
    }
}
 
 

WebListener 어노테이션을 사용하기 위해서는 서블릿 라이브러리를 추가해줘야한다.

다음 maven dependency를 추가해준다.

<dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>

 

반응형

' > Java' 카테고리의 다른 글

자바 mysql 연동하기  (0) 2019.10.24
모든 요청을 받는 서블릿  (0) 2019.10.24
jdbc에 mysql 연동시 time zone 에러  (0) 2019.10.11
서블릿 구현 - Hello world  (0) 2019.09.29
tomcat 서버 메인 함수  (0) 2019.09.29
반응형

@WebServlet(name = "dispatcher", urlPatterns = "/", loadOnStartup = 1)

 

서블릿은 "/"로 설정함으로써 모든 요청을 하나의 서블릿으로 매핑할 수 있다.

반응형

' > Java' 카테고리의 다른 글

자바 mysql 연동하기  (0) 2019.10.24
자동으로 실행되는 WebListener 어노테이션  (0) 2019.10.24
jdbc에 mysql 연동시 time zone 에러  (0) 2019.10.11
서블릿 구현 - Hello world  (0) 2019.09.29
tomcat 서버 메인 함수  (0) 2019.09.29
반응형

connection url 뒤에 시간대 명시.

String url = "jdbc:mysql://localhost:3306/study_db?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC";

반응형

' > Java' 카테고리의 다른 글

자동으로 실행되는 WebListener 어노테이션  (0) 2019.10.24
모든 요청을 받는 서블릿  (0) 2019.10.24
서블릿 구현 - Hello world  (0) 2019.09.29
tomcat 서버 메인 함수  (0) 2019.09.29
정규표현식  (0) 2019.08.26
반응형

상품 테이블의 메이커코드 속성에서

"메이커1", "메이커2", "메이커3"을 "M001", "M002", "M003"으로 바꾼다.

 

UPDATE 상품 SET 메이커코드 = REPLACE(메이커코드, "메이커""M00"WHERE 메이커코드 LIKE "메이커%";
반응형

'데이터베이스 > SQL' 카테고리의 다른 글

mysql server 설치 중 failed 오류  (7) 2019.08.26
반응형

서블릿 컨테이너가 @WebServlet 애노테이션의 값을 읽어 요청 URL과 서블릿을 연결하는 Map을 생성한다.

 

 
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
 
@WebServlet("/hello")
public class HelloWorldServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        PrintWriter out = resp.getWriter();
        out.print("<h1>Hello World</h1>");
    }
}
 
 

 

반응형

' > Java' 카테고리의 다른 글

자동으로 실행되는 WebListener 어노테이션  (0) 2019.10.24
모든 요청을 받는 서블릿  (0) 2019.10.24
jdbc에 mysql 연동시 time zone 에러  (0) 2019.10.11
tomcat 서버 메인 함수  (0) 2019.09.29
정규표현식  (0) 2019.08.26

+ Recent posts