码迷,mamicode.com
首页 > 数据库 > 详细

MyBatis动态SQL与模糊查询

时间:2015-05-05 19:11:42      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

sqlxml

<?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="PersonCondition">
    <!-- 实现多条件查询,姓名模糊匹配,年龄在最大最小值之间 -->
    <select id="getPerson" parameterType="com.stone.bean.ConditionPerson"
        resultType="com.stone.bean.Person">
        select * from person where
        <if test=‘name !="%null%"‘>
            name like #{name} and
        </if>
        age
        between
        #{minAge} and #{maxAge}
    </select>


</mapper>

 

condition java bean

package com.stone.bean;

public class ConditionPerson {
    private String name;
    private int minAge;
    private int maxAge;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getMinAge() {
        return minAge;
    }
    public void setMinAge(int minAge) {
        this.minAge = minAge;
    }
    public int getMaxAge() {
        return maxAge;
    }
    public void setMaxAge(int maxAge) {
        this.maxAge = maxAge;
    }
    public ConditionPerson(String name, int minAge, int maxAge) {
        super();
        this.name = name;
        this.minAge = minAge;
        this.maxAge = maxAge;
    }
    public ConditionPerson() {
        super();
    }
    @Override
    public String toString() {
        return "ConditionPerson [name=" + name + ", minAge=" + minAge
                + ", maxAge=" + maxAge + "]";
    }
    
}

 

java bean

package com.stone.bean;

import java.text.SimpleDateFormat;
import java.util.Date;

public class Person {

    private int id;
    private String name;
    private Date birthday;
    private int age;
    
    

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    @Override
    public String toString() {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd HH:mm:SS");
        return "Person [id=" + id + ", name=" + name + ", birthday="
                + dateFormat.format(birthday) + "]";
    }

}

 

test

package com.stone.dao;

import java.util.List;

import org.apache.ibatis.session.SqlSession;

import com.stone.bean.ConditionPerson;
import com.stone.bean.Person;
import com.stone.db.DBAccess;

public class DBDaoPerson {

    public static void main(String[] args) {
        DBAccess dbAccess = new DBAccess();
        SqlSession sqlSession = null;
        try {
            sqlSession = dbAccess.getSqlSession();
            String statement = "PersonCondition.getPerson";
            ConditionPerson parameter = new ConditionPerson("%a%", 11, 18);
            // 通过sqlSession执行SQL语句;
            List<Person> list = sqlSession.selectList(statement, parameter);
            System.out.println(list);
            System.out.println("=======================");

        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (sqlSession != null) {
                sqlSession.close();
            }
        }
    }

}

 

MyBatis动态SQL与模糊查询

标签:

原文地址:http://www.cnblogs.com/stono/p/4479757.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!