亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

MyBatis 入門開發 —-輸入,輸出參數

標簽:
SQL Server

第一: parameterType传入参数传递简单数据类型

<select id="findUserById" parameterType="int" resultType="cn.fy.domain.User">    SELECT id,username,birthday,sex,address  FROM USER WHERE id = #{id}    </select>

传递pojo对象

<!—传递pojo对象综合查询用户信息 -->    user 使用了别名.    <select id="findUserByUser" parameterType="user" resultType="user">       select * from user where id=#{id} and username like '%${username}%'    </select>    #{id} : 使用 user中的id    ${username}:使用user中的username.    // 如果参数类型user 中有属性 order 类    <select id="findUserByUser" parameterType="user" resultType="user">       select * from user where id=#{order.id} and username like '%${username}%'    </select>

mybatis可以通过ognl 表达式: #{属性.属性.属性}
传递hashmap

map综合查询用户信息 -->    <select id="findUserByHashmap" parameterType="hashmap" resultType="user">        select * from user where id=#{id} and username like '%${username}%'    </select>     @Test    public void findUserByHashmap() {        SqlSession session = MyBatisUtil.getSession();        UserMapper userMapper = session.getMapper(UserMapper.class);        //构造查询条件Hashmap对象        HashMap<String, Object> map = new HashMap<String, Object>();        map.put("id", 1);        map.put("username", "张");        //传递Hashmap对象查询用户列表        List<User>list = userMapper.findUserByHashmap(map);        //关闭session        session.close();    }    select * from user where id=? and username like '%管理员%'

第二: resultType(输出类型)输出简单类型

select count(1) from userPublic void testFindUserCount() throws Exception{        //获取session        SqlSession session = sqlSessionFactory.openSession();        //获取mapper接口实例        UserMapper userMapper = session.getMapper(UserMapper.class);        User user = new User();        user.setUsername("管理员");        //传递Hashmap对象查询用户列表        int count = userMapper.findUserCount(user);        //关闭session        session.close();    }输出简单类型

select * from user where id = #{id}Public void testFindUserById() throws Exception {        //获取session        SqlSession session = sqlSessionFactory.openSession();        //获限mapper接口实例        UserMapper userMapper = session.getMapper(UserMapper.class);        //通过mapper接口调用statement        User user = userMapper.findUserById(1);        System.out.println(user);        //关闭session        session.close();    }输出pojo列表

select * from user where username like '%${value}%'@Test    public void dimFind() {        SqlSession session = MyBatisUtil.getSession();        List

list = session.selectList("test1.findUserByUsername", "常山");        System.out.println(list);    }输出hashmapselect username,sex from user@Test    public void findUserNameAndSex() {        SqlSession session = MyBatisUtil.getSession();        UserMapper userMapper = session.getMapper(UserMapper.class);        //构造查询条件Hashmap对象        // 传递Hashmap对象查询用户列表         // 注意不能返回HashMap,还是要返回list        List list = userMapper.findUserNameAndSex();        System.out.println("--list-" + list);        //关闭session        session.close();    }    --list-[{sex=2, username=王五}, {sex=1, username=张三}, {sex=1, username=张小明}]resultMapresultMap 替代 resultType.```resultType可以指定pojo将查询结果映射为pojo,但需要pojo的属性名和sql查询的列名一致方可映射成功。如果sql查询字段名和pojo的属性名不一致,可以通过resultMap将字段名和属性名作一个对应关系 ,resultMap实质上还需要将查询结果映射到pojo对象中。resultMap可以实现将查询结果映射为复杂类型的pojo,比如在查询结果映射对象中包括pojo和list实现一对一查询和一对多查询。```SELECT id,username,birthday,sex,address  FROM USER WHERE id = #{id}--------------------------------     @Test    public void findUserResultMap() throws Exception {        SqlSession session = MyBatisUtil.getSession();        UserMapper userMapper = session.getMapper(UserMapper.class);        //构造查询条件Hashmap对象        List list = userMapper.findUserResultMap(10);    //--list-[User{id=10, username='张三', sex='1', birthday=Thu Jul 10 00:00:00 CST 2014, address='北京市'}]        System.out.println("--list-" + list);        //关闭session        session.close();    }

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消