카테고리 없음

211111~211112_mybatis_setting

요옫 2021. 11. 11. 14:55

2개의 파일은 다운받아서 WEB-INF의 lib에 넣기

mysql-connector-java-8.0.22.jar
2.28MB
mybatis-3.2.2.jar
0.67MB
1. mybatis.setting 패키지 생성

 

2. new-other-file 클릭

 

3. mysqlserver.properties 생성

 

4. driver class name 복사해서  mysqlserver.properties에 넣기

 

5. userid,password,connectionURL 복사해서 mysqlserver.properties에 넣기

 

6. mysqlserver.properties

 

7. xml 파일 선택

 

8. SqlMapConfig.xml 파일 생성

 

 

11. SqlMapConfig.xml

 복사해서 SqlMapConfig.xml에 넣기 

<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTDConfig 3.0//EN" "HTTP://mybatis.org/dtd/mybatis-3-config.dtd">

 

 

- SqlMapConfig.xml에서 properties resource 작성할 때 mybatis.setting의 .를 /로 변경해줘야 함 -> mybatis.setting : mybatis/setting

- typeAlias type 은 . 그대로 

-------------------------------------------------------------

 

 

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

<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTDConfig 3.0//EN" "HTTP://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>

  <properties resource="mybatis/setting/mysqlserver.properties"/>

  <typeAliases>

    <typeAlias type="data.car.CarDto" alias="cdto"/>

  </typeAliases>

  

  <environments default="development">

    <environment id="development">

      <transactionManager type="JDBC"/>

        <dataSource type="POOLED">

          <property name="driver" value="${driver}"/>

          <property name="url" value="${url}"/>

          <property name="username" value="${username}"/>

          <property name="password" value="${password}"/>

        </dataSource>

    </environment>

  </environments>

  

  <mappers>

    <mapper resource="mybatis/setting/CarSql.xml"/>

  </mappers>

</configuration>

 

10. CarSql.xml 파일 생성

 

11. ConnectionManager 클래스 생성

 

12

package mybatis.setting;

 

import java.io.IOException;

import java.io.Reader;

 

import org.apache.ibatis.io.Resources;

import org.apache.ibatis.session.SqlSession;

import org.apache.ibatis.session.SqlSessionFactory;

import org.apache.ibatis.session.SqlSessionFactoryBuilder;

 

public class ConnectionManager {

 

private static ConnectionManager instance;

 

public static ConnectionManager getInstance() 

{

if(instance==null)

instance=new ConnectionManager();

return instance;

}

 

private SqlSessionFactory sqlSessionFactory;

 

private ConnectionManager() 

{

String resource="mybatis/setting/SqlMapConfig.xml";

 

try {

Reader reader=Resources.getResourceAsReader(resource);

sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

 

public SqlSession openSession() {

return sqlSessionFactory.openSession(true);

}

}

 

13. CarSql

 

14.CarDao 생성후 작성

 

15. carstart.jsp 생성 (시작페이지)

 

16. java파일에서 new-servlet 선택

 

17.ListServlet 생성

 

18.ListServlet.java

package car.servlet;

 

import java.io.IOException;

 

import javax.servlet.RequestDispatcher;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

import data.car.CarDao;

 

@WebServlet("/samsung/list") 

//시작이 /, 매핑주소는 carstart.jsp의 c:redirect url 넣기

 

public class ListServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

      CarDao dao=new CarDao(); 

    

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

//dao로부터 총개수 가져오기

int totalCount=dao.getTotalCount();

 

//가져온 값을 request에 저장

request.setAttribute("totalCount", totalCount);

 

//jsp로 포워드

RequestDispatcher rd=request.getRequestDispatcher("../car/carlist.jsp");

rd.forward(request, response);

}

 

/**

* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

*/

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

 

doGet(request, response);

}

}

19. carlist.jsp