root-context.xml 에 mysql 과 mybatis 관련 설정 추가
WEB-INF/spring/root-context.xml |
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:mybatis-spring="http://mybatis.org/schema/mybatis-spring" xsi:schemaLocation="http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-4.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring-1.2.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- Root Context: defines shared resources visible to all other web components --> <bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource"> <property name="driverClass" value="com.mysql.jdbc.Driver"></property> <property name="url" value="jdbc:mysql://localhost/mysql"></property> <property name="username" value="root"></property> <property name="password" value="qwer1234"></property> *** 설정에 맞게 셋팅;; </bean> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"></property> <property name="configLocation" value="classpath:mybatis/mybatis-config.xml"> </property> </bean> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"></property> </bean> <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg ref="sqlSessionFactory"></constructor-arg> </bean> </beans> |
이제 mybatis-config.xml 과 mapper.xml 파일 추가
/resources/mybatis/mybatis-config.xml |
<?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> <mappers> <mapper resource="mybatis/mapper.xml" /> </mappers > </configuration> |
/resources/mybatis/mapper.xml
|
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace= "userControlMapper" > <select id ="selectSample" parameterType="java.util.HashMap" resultType= "java.util.HashMap"> select * from pred </select > <select id ="searchSample" parameterType="java.util.HashMap" resultType= "java.util.HashMap"> select * from pred where username=#{j_username} and password=#{j_password} </select > <insert id="writeSample" parameterType="java.util.Map"> insert into pred(username,password) values(#{j_username},#{j_password}) </insert> </mapper> |
이것저것 처리할 Controller 처리 -_-
/java/com/spring/pred/HomeController.java |
package com.spring.prede;
import java.text.DateFormat; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Locale; import java.util.Map;
import javax.servlet.http.HttpSession;
import org.apache.ibatis.session.SqlSession; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.SessionAttributes; import org.springframework.web.servlet.ModelAndView;
/** * Handles requests for the application home page. */ @Controller public class HomeController { private static final Logger logger = LoggerFactory.getLogger(HomeController.class); @Autowired private SqlSession sqlSession;
/** * Simply selects the home view to render by returning its name. */ @RequestMapping(value = {"/","/home.do"}, method = RequestMethod.GET) public String home(Locale locale, Model model) { logger.info("Welcome home! The client locale is {}.", locale); Date date = new Date(); DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale); String formattedDate = dateFormat.format(date); model.addAttribute("serverTime", formattedDate ); List<HashMap<String, String>> outputs = sqlSession.selectList("userControlMapper.selectSample"); //model.addAttribute("showDB", outputs.toString()); model.addAttribute("showDB", outputs); return "home"; } @RequestMapping("/signin.do") public String signin() { return "signin"; } @RequestMapping("/signup.do") public String signup(Model model) { return "signup"; } @RequestMapping("/writeProc.do") public ModelAndView writeProc(@RequestParam Map<String, Object> paramMap, ModelMap model) throws Throwable{
System.out.println("username = " + paramMap.get("j_username")); System.out.println("password = " + paramMap.get("j_password")); int writeCnt = writeProc(paramMap); //System.out.println(writeCnt + " writed..."); ModelAndView mav = new ModelAndView(); mav.setViewName("redirect:/signup.do"); return mav; } public int writeProc(Map<String, Object> paramMap) { return sqlSession.insert("userControlMapper.writeSample",paramMap ); } }
|
/java/com/spring/pred/LoginController.java |
package com.spring.prede;
import java.security.Principal; import java.util.HashMap; import java.util.List; import java.util.Map;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession;
import org.apache.ibatis.session.SqlSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.SessionAttributes; import org.springframework.web.servlet.ModelAndView;
@Controller @SessionAttributes("username") public class LoginController { @Autowired private SqlSession sqlSession; @RequestMapping(value = {"/answer.do"},method = RequestMethod.POST) public String answer( @RequestParam Map<String, Object> paramMap, HttpSession session, HttpServletRequest request, Model model) { List<HashMap<String, String>> outputs = sqlSession.selectList ("userControlMapper.searchSample",paramMap); if ( outputs.isEmpty() ) model.addAttribute("username_result","FAIL"); else { model.addAttribute("username_result","OK"); session.setAttribute("username", paramMap.get("j_username")); } return "answer"; } } |
등등의 이것저것 작업 -_-;;; 갑자기 급귀찮;;;;
spring-prede_4.7z
댓글