本帖最后由 liangzai_cool 于 2015-03-06 23:56:55 编辑

解决方案 »

  1.   

    @Controller
    public class UserController {
        private static Logger logger = LoggerFactory.getLogger(UserController.class.getName());    @Autowired
        private UserMapper userMapper; // MyBatis的Mapper    @RequestMapping(value="/user/{id}", method= RequestMethod.GET)
        @ResponseBody
        public String getUser(@PathVariable int id) {
            User user = userMapper.findUserById(id); // 用MyBatis查询数据库
            logger.info(user.toString());        return user.toString();
        }    @Transactional
        @RequestMapping(value="/user/{id}/age/{age}")
        @ResponseBody
        public String updateUser(@PathVariable int id, @PathVariable int age) {
            User user = new User();
            user.setId(id);
            user.setAge(age);        userMapper.updateUser(user); // 用MyBatis更新数据库        if (user.getAge() > 100) {
                throw new RuntimeException("Age is too large than 100: " + user.getAge());
            }        return "Success";
        }
    }
      

  2.   

    我用的是xml配置式的myBatis,所以,还是要先打开session,最后关闭session,所以我想问一下,如果这样的话,用切面编程的思想搞定吗?可能行存在吗?或者说我的大致思路对不对?
      

  3.   


    先看看Spring怎么集成MyBatis吧:http://mybatis.github.io/spring/zh/
      

  4.   


    先看看Spring怎么集成MyBatis吧:http://mybatis.github.io/spring/zh/你好,我又看了一遍,感觉比第一遍的理解又加深了一些了。我也是在自学SpringMVC+Mybatis的,暂时从XML起步,你觉得我的代码可以吗?
      

  5.   

    再仔细看看,其实不需要用session,直接可以得到mapper,就相当于dao,然后就可以在service/controller里使用mapper了