[关闭]
@ruoli 2016-08-28T08:08:11.000000Z 字数 1225 阅读 1640

SpringMVC,Mybatis使用小技巧

SpringMvc


1、springmvc中url传递对象及子对象数据

现有两个实体Java类,Contract.java,Act.java,其中Act对象做为一个属性存在于Contract类中,代码如下:

  1. public class Contract {
  2. private String id;
  3. private String name;
  4. private Act act;
  5. //getter,setter 省略
  6. }
  7. public class Act {
  8. private String id;
  9. private String name;
  10. //getter,setter 省略
  11. }

url 请求路径如下:

http://localhost/SpringMvc/index?id=1&act.id=2

Controller控制类方法如下:

  1. @RequestMapping("index")
  2. public @ResponseBody String hello(Contract contract){
  3. System.out.println(contract.getId()+"--"+contract.getAct().getId());
  4. //此处输出:1--2
  5. return "index";
  6. }

2、mybatis返回一对一级联数据信息

以下是Mapper类

  1. @Mapper
  2. public interface UserMapper {
  3. @Select("SELECT 1 'id',2 'name' ,3 'age',4 'act.id',5 'act.name' FROM dual")
  4. User findUser();
  5. }

以下是User.java,Act.java

  1. public class Contract {
  2. private String id;
  3. private String name;
  4. private Act act;
  5. //getter,setter 省略
  6. }
  7. public class Act {
  8. private String id;
  9. private String name;
  10. //getter,setter 省略
  11. }

以下是测试类:

  1. @RunWith(SpringJUnit4ClassRunner.class)
  2. @SpringApplicationConfiguration(classes = Application.class)
  3. public class ApplicationTests {
  4. @Autowired
  5. private UserMapper userMapper;
  6. @Test
  7. @Rollback
  8. public void findByName() throws Exception {
  9. User u=userMapper.findUser();
  10. System.out.println(u.getName()+"--"+u.getAct().getName());
  11. //返回结果 : 2--4
  12. }
  13. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注