hyljava

          Spring MVC級聯(lián)查詢(用戶與地址之間關(guān)系)

           這里的級聯(lián)查詢仿照Hibernate中的一對多關(guān)系映射,寫個例子留個筆記
          (地址表主表,用戶表從表)
          用戶表(類)User
          成員變量如下,并且對應(yīng)有g(shù)et和set方法
                  private String uId;
          private String uUserName;
          private String uPassWord;
          private String uTelephone;
          private int uAge;
          private Date uBirthday;
          對應(yīng)的表如下:
           
          地址表(類)Address成員變量如下:
                  private int no;
          private String name;
          private List<User> userList;


          對應(yīng)的UserDao中先寫:
          public List<User> findByAddressId(int a){
          String sql="select * from usermbo where address=?";
          List<User> users = new  ArrayList<User>();
          Object[] params=new Object[]{a};
          users = jdbcTemplate.query(sql,params, new UserRowMapper() );
          return users;
          }

          private class UserRowMapper implements ParameterizedRowMapper<User>{
          public User mapRow(ResultSet rs, int rowNum) throws SQLException {
          User user = new User();
          user.setuUserName(rs.getString("username"));
          user.setuAge(rs.getInt("age"));
          user.setuId(rs.getInt("id")+"");
          user.setuTelephone(rs.getString("telephone"));
          return user;
          }
          }

          此部完成以后,再寫AddressDao

          @Autowired
          private UserDao userDao ;


          public List<Address> getAddress(){
          String sql="select * from address";
          List<Address> addresss = new  ArrayList<Address>();
          addresss = jdbcTemplate.query(sql, new AddressRowMapper() );
          return addresss;
          }
          private class AddressRowMapper implements ParameterizedRowMapper<Address>{
          public Address mapRow(ResultSet rs, int rowNum) throws SQLException {
          Address address=new Address( );
          address.setNo(rs.getInt("no"));
          address.setName(rs.getString("name"));
                   address.setUserList( userDao.findByAddressId(rs.getInt("no")));
          return address;
          }
          }
          Service層再配一下(此層不配也行直接將
          @Autowired
          private AddressDao addressDao ;引入Controllar中即可)
          在Controllar中再寫
          addressService.getAddress()就可以查出結(jié)果
           [Address [name=計算力, no=1, userList=[User [uAddress=null, uAge=12, uBirthday=null, uId=11, uPassWord=null, uTelephone=1234567, uUserName=張三]]], Address [name=大連, no=2, userList=[]], Address [name=海南, no=3, userList=[User [uAddress=null, uAge=34, uBirthday=null, uId=12, uPassWord=null, uTelephone=2323232323, uUserName=李四], User [uAddress=null, uAge=33, uBirthday=null, uId=13, uPassWord=null, uTelephone=2323, uUserName=王武]]]] 

          posted on 2013-04-12 13:10 何云隆 閱讀(3925) 評論(3)  編輯  收藏 所屬分類: Spring MVC

          評論

          # re: Spring MVC級聯(lián)查詢(用戶與地址之間關(guān)系) 2015-12-29 11:55 啊啊啊啊

          死死死死死死死  回復(fù)  更多評論   

          # re: Spring MVC級聯(lián)查詢(用戶與地址之間關(guān)系) 2015-12-29 11:55 啊啊啊啊

          發(fā)錯了  回復(fù)  更多評論   

          # re: Spring MVC級聯(lián)查詢(用戶與地址之間關(guān)系) 2015-12-29 11:55 啊啊啊啊

          不好意思  回復(fù)  更多評論   

          主站蜘蛛池模板: 盐津县| 石屏县| 永寿县| 资源县| 张家港市| 白沙| 深圳市| 九寨沟县| 睢宁县| 微山县| 杂多县| 东平县| 大渡口区| 新乐市| 收藏| 五峰| 梓潼县| 三台县| 平阳县| 濉溪县| 五常市| 乡宁县| 天柱县| 个旧市| 舒城县| 正宁县| 鲁甸县| 鄂托克前旗| 公安县| 乌鲁木齐市| 广饶县| 水城县| 扎鲁特旗| 旺苍县| 民丰县| 东城区| 永吉县| 汪清县| 黄山市| 如皋市| 汶上县|