MYbatis 多参数传递方式
2014-11-27 17:58
295 查看
Mybatis查询传递参数的三种方式
1.用注解的方式传递多个参数2.构建map
3.构建查询条件类
需求:
根据姓名和年龄查询出符合条件数据
创建表:
create table t_user (
id number(6) primary key,
name varchar2(25),
age number(3));
insert into t_user values (1,'tom',18);
insert into t_user values(2,'jim',19);
insert into t_user values(3,'aaa',18);
insert into t_user values (4,'bbb',20);
创建User类
public class User { private Integer id; private String name; private Integer age; .......省略get,set..... }
UserMapper
public interface UserMapper { //1.注解方式 User query(@Param(value="name")String name,@Param(value="age")Integer age); //2.构建map User quertByMap(Map<String, Object> map); //3.构建查询条件类,这里就用创建好的User代替 User queryByCondition(User user); }
UserMapper.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.briup.dao.UserMapper" > <select id="query" resultType="com.briup.domain.User"> select * from t_user where name=#{name} and age=#{age} </select> <select id="quertByMap" parameterType="map" resultType="com.briup.domain.User"> select * from t_user where name=#{name} and age=#{age} </select> <select id="queryByCondition" parameterType="com.briup.domain.User" resultType="com.briup.domain.User"> select * from t_user where name=#{name} and age=#{age} </select> </mapper>
测试:
public class MybatiesTest { private SqlSessionFactory sqlSessionFactory; @Before public void init() throws Exception { String resource = "conf.xml"; Reader reader = Resources.getResourceAsReader(resource); sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); } // 测试 @Test public void testQuery() { SqlSession session = sqlSessionFactory.openSession(); UserMapper mapper = session.getMapper(UserMapper.class); User user = mapper.query("aaa", 18); System.out.println(user); } @Test public void testQueryByMap() { SqlSession session = sqlSessionFactory.openSession(); UserMapper mapper = session.getMapper(UserMapper.class); Map<String, Object> map = new HashMap<String, Object>(); map.put("name", "aaa"); map.put("age", 18); User user = mapper.quertByMap(map); System.out.println(user); } @Test public void testQueryByCondition() { SqlSession session = sqlSessionFactory.openSession(); UserMapper mapper = session.getMapper(UserMapper.class); User conditon = new User(); conditon.setName("aaa"); conditon.setAge(18); User user = mapper.queryByCondition(conditon); System.out.println(user); } }
相关文章推荐
- MyBatis多参数传递之Map方式示例
- MyBatis传递参数的3种方式
- mybatis 传递参数的三种方式
- mybatis 传递参数的三种方式
- mybatis学习之参数传递方式
- MyBatis多参数传递之注解方式示例——MyBatis学习笔记之十一 推荐
- Mybatis传递参数的三种方式
- MyBatis多参数传递之注解方式示例
- MyBatis多参数传递之注解方式示例--转
- Mybatis参数传递的集中写法和方式
- Mybatis传递多个参数的4种方式(干货)
- MyBatis多参数传递之默认命名方式示例——MyBatis学习笔记之十二 推荐
- @Param 注解在Mybatis中的使用 以及传递参数的三种方式
- MyBatis多参数传递之Map方式示例——MyBatis学习笔记之十三 推荐
- @Param 注解在Mybatis中的使用 以及传递参数的三种方式
- MyBatis传递参数的3种方式
- MyBatis多参数传递之Map方式示例——MyBatis学习笔记之十三
- MyBatis中可以用以下的方式来传递多个参数
- MyBatis多参数传递的四种方式
- MyBatis多参数传递之Map方式示例