hyljava

          Spring MVC級聯查詢(用戶與地址之間關系)

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


          對應的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()就可以查出結果
           [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級聯查詢(用戶與地址之間關系) 2015-12-29 11:55 啊啊啊啊

          死死死死死死死  回復  更多評論   

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

          發錯了  回復  更多評論   

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

          不好意思  回復  更多評論   

          主站蜘蛛池模板: 内江市| 韶山市| 赞皇县| 金川县| 通海县| 阆中市| 疏勒县| 莱芜市| 云浮市| 海伦市| 泰顺县| 凤凰县| 长顺县| 兴化市| 武乡县| 伊金霍洛旗| 锡林郭勒盟| 蚌埠市| 大城县| 循化| 隆尧县| 南川市| 旌德县| 松江区| 调兵山市| 福海县| 乌兰县| 广丰县| 静海县| 辉县市| 北辰区| 钟祥市| 西和县| 三门县| 报价| 吉水县| 巴塘县| 庄浪县| 阿鲁科尔沁旗| 大姚县| 山西省|