日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

xstream不映射字段_Mybatis_day03:输入映射和输出映射

發(fā)布時間:2025/3/19 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 xstream不映射字段_Mybatis_day03:输入映射和输出映射 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

輸入映射和輸出映射

Mapper.xml映射文件中定義了操作數(shù)據(jù)庫的sql,每個sql是一個statement,映射文件是mybatis的核心。

  • parameterType(輸入類型)

  • 傳遞簡單類型

  • 參考第一天內容。

    傳遞pojo對象

    Mybatis使用ognl表達式解析對象字段的值,#{}或者${}括號中的值為pojo屬性名稱。

    傳遞pojo包裝對象

    開發(fā)中通過pojo傳遞查詢條件,查詢條件是綜合的查詢條件,不僅包括用戶查詢條件還包括其它的查詢條件(比如將用戶購買商品信息也作為查詢條件),這時可以使用包裝對象傳遞輸入?yún)?shù)。

    Pojo類中包含pojo。

    需求:根據(jù)用戶名查詢用戶信息,查詢條件放到QueryVo的user屬性中。

    public class QueryVo {private User user;public User getUser() {return user;}public void setUser(User user) this.user = user;*}}

    Sql語句

    SELECT * FROM user where username like '%劉%'

    Mapper文件

    SELECT * FROM user where username like '%${user.username}%'接口public interface UserMapper {User findUserByid(Integer id);List findUserByUserName(String name);List findUserByUserNameAndSex(String name,String sex);Integer insertUser(User user);Integer deleteByUserId(Integer id);Integer updateUserById(User user);List QueryVoByUserList(QueryVo queryVo);}測試方法@Testpublic void testFindUserByQueryVo() throws Exception {SqlSession sqlSession = sessionFactory.openSession();//獲得mapper的代理對象UserMapper userMapper = sqlSession.getMapper(UserMapper.class);//創(chuàng)建QueryVo對象QueryVo queryVo = new QueryVo();//創(chuàng)建user對象User user = new User();user.setUsername("劉");queryVo.setUser(user);//根據(jù)queryvo查詢用戶List list = userMapper.findUserByQueryVo(queryVo);System.out.println(list);sqlSession.close();}
  • resultType(輸出類型)

  • 輸出簡單類型

  • 參考getnow輸出日期類型,看下邊的例子輸出整型:

    Mapper.xml文件

    select count(1) from userMapper接口public int findUserCount() throws Exception;調用:Public void testFindUserCount() throws Exception{//獲取sessionSqlSession session = sqlSessionFactory.openSession();//獲取mapper接口實例UserMapper userMapper = session.getMapper(UserMapper.class);//傳遞Hashmap對象查詢用戶列表int count = userMapper.findUserCount();//關閉sessionsession.close();}

    輸出簡單類型必須查詢出來的結果集有一條記錄,最終將第一個字段的值轉換為輸出類型。

    使用session的selectOne可查詢單條記錄。

    輸出pojo對象

    參考第一天內容

    輸出pojo列表

    參考第一天內容。

    resultMap

    resultType可以指定pojo將查詢結果映射為pojo,但需要pojo的屬性名和sql查詢的列名一致方可映射成功。

    如果sql查詢字段名和pojo的屬性名不一致,可以通過resultMap將字段名和屬性名作一個對應關系,resultMap實質上還需要將查詢結果映射到pojo對象中。

    resultMap可以實現(xiàn)將查詢結果映射為復雜類型的pojo,比如在查詢結果映射對象中包括pojo和list實現(xiàn)一對一查詢和一對多查詢。

    Mapper.xml定義

    使用resultMap指定上邊定義的personmap。

    定義resultMap

    由于上邊的mapper.xml中sql查詢列和Users.java類屬性不一致,需要定義resultMap:userListResultMap將sql查詢列和Users.java類屬性對應起來

    <id/>:此屬性表示查詢結果集的唯一標識,非常重要。如果是多個字段為復合唯一約束則定義多個<id/>。

    Property:表示User類的屬性。

    Column:表示sql查詢出來的字段名。

    Column和property放在一塊兒表示將sql查詢出來的字段映射到指定的pojo類屬性上。

    <result />:普通結果,即pojo的屬性。

    Mapper接口定義

    public List findUserListResultMap() throws Exception;

    總結

    以上是生活随笔為你收集整理的xstream不映射字段_Mybatis_day03:输入映射和输出映射的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。