idea
来源:互联网 发布:华为网络盒子 编辑:程序博客网 时间:2024/04/28 18:31
接口:
//04.查询学生姓名中包含"星星"的 ,并且年里在20岁以上的学生信息
public List<StudentInfo> findStudentListLike(StudentInfo info);
//05.查询姓名中包含“雨”,并且年龄>20的学生信息
public List<StudentInfo> findStudentsByCondition(Map<String,Object> map);
//05.查询姓名中包含“雨”,并且年龄>20的学生信息
public List<StudentInfo> findStudentsByConditionMutliArgs(String stuName,int stuAge);
public List<StudentInfo> findStudentListLike(StudentInfo info);
//05.查询姓名中包含“雨”,并且年龄>20的学生信息
public List<StudentInfo> findStudentsByCondition(Map<String,Object> map);
//05.查询姓名中包含“雨”,并且年龄>20的学生信息
public List<StudentInfo> findStudentsByConditionMutliArgs(String stuName,int stuAge);
//06.智能标签if
public List<StudentInfo> findByIf(StudentInfo stu);
public List<StudentInfo> findByIf(StudentInfo stu);
//06.智能标签choose
public List<StudentInfo> findByChoose(StudentInfo stu);
public List<StudentInfo> findByChoose(StudentInfo stu);
//07.智能标签foreach
public List<StudentInfo> findByForeachArray(int[] ids);
//07.智能标签foreach List<Integer>
public List<StudentInfo> findByForeachList(List<Integer> list);
public List<StudentInfo> findByForeachArray(int[] ids);
//07.智能标签foreach List<Integer>
public List<StudentInfo> findByForeachList(List<Integer> list);
//07.智能标签foreach List<StudentInfo>
public List<StudentInfo> findByForeachListStudent(List<StudentInfo> list);
public List<StudentInfo> findByForeachListStudent(List<StudentInfo> list);
小配置·:
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="bdqn.dao.Departmentdao">
<!--模糊查询-->
<select id="findStudentListLike" resultType="StudentInfo">
<!--select * from studentinfo where stuname like concat('%',#{stuName},'%') and stuAge>#{stuAge}-->
select * from studentinfo where stuname like '%${stuName}%' and stuAge>#{stuAge}
</select>
<select id="findStudentListLike" resultType="StudentInfo">
<!--select * from studentinfo where stuname like concat('%',#{stuName},'%') and stuAge>#{stuAge}-->
select * from studentinfo where stuname like '%${stuName}%' and stuAge>#{stuAge}
</select>
<!--多条件查询-->
<select id="findStudentsByCondition" resultType="StudentInfo">
select * from studentinfo where stuname like '%' #{stuName} '%' and stuAge>#{stuAge}
</select>
<select id="findStudentsByCondition" resultType="StudentInfo">
select * from studentinfo where stuname like '%' #{stuName} '%' and stuAge>#{stuAge}
</select>
<!--多条件查询使用索引-->
<select id="findStudentsByConditionMutliArgs" resultType="StudentInfo">
select * from studentinfo where stuname like '%' #{0} '%' and stuAge>#{1}
</select>
<select id="findStudentsByConditionMutliArgs" resultType="StudentInfo">
select * from studentinfo where stuname like '%' #{0} '%' and stuAge>#{1}
</select>
<!--智能标签foreach List-->
<select id="findByForeachListStudent" resultType="StudentInfo">
select * from studentinfo
<where>
<if test="list.size>0">
stuid in
<foreach collection="list" open="(" close=")" separator="," item="stu">
#{stu.stuId}
</foreach>
</if>
</where>
</select>
<!--智能标签foreach List-->
<select id="findByForeachList" resultType="StudentInfo">
select * from studentinfo
<where>
<if test="list.size>0">
stuid in
<foreach collection="list" open="(" close=")" separator="," item="stuno">
#{stuno}
</foreach>
</if>
</where>
</select>
<!--智能标签foreach Array-->
<select id="findByForeachArray" resultType="StudentInfo">
select * from studentinfo
<where>
<if test="array.length>0">
stuid in
<foreach collection="array" open="(" close=")" separator="," item="stuno">
#{stuno}
</foreach>
</if>
</where>
</select>
<!--智能标签choose-->
<select id="findByChoose" resultType="StudentInfo">
select * from studentinfo
<where>
<choose>
<when test="stuName!=null">
and stuName like '%' #{stuName} '%'
</when>
<when test="stuAge!=null">
and stuAge>#{stuAge}
</when>
<otherwise>
and 1=2
</otherwise>
</choose>
</where>
</select>
<select id="findByChoose" resultType="StudentInfo">
select * from studentinfo
<where>
<choose>
<when test="stuName!=null">
and stuName like '%' #{stuName} '%'
</when>
<when test="stuAge!=null">
and stuAge>#{stuAge}
</when>
<otherwise>
and 1=2
</otherwise>
</choose>
</where>
</select>
<!--智能标签if-->
<select id="findByIf" resultType="StudentInfo">
select * from studentinfo
<where>
<if test="stuName!=null"><!--用户录入的姓名字段-->
and stuName like '%' #{stuName} '%'
</if>
<if test="stuAge!=null">
and stuAge>#{stuAge}
</if>
</where>
</select>
</mapper>
测试类:
package cn.happy.test;import cn.happy.dao.IDeptDAO;import cn.happy.dao.IStudentInfoDAO;import cn.happy.entity.Dept;import cn.happy.entity.Emp;import cn.happy.entity.StudentInfo;import cn.happy.util.MyBatisUtil;import org.apache.ibatis.session.SqlSession;import org.junit.Test;import java.util.*;/** * Created by Happy on 2017-07-09. */public class MyBatisTest0712 { //07.多表连接查询 一对多 单条SQL @Test public void testOneToMany(){ SqlSession session= MyBatisUtil.getSession(); IDeptDAO dao = session.getMapper(IDeptDAO.class); Dept dept = dao.getEmpsByDeptNo(5); System.out.println(dept.getDeptName()); for (Emp emp:dept.getEmps()) { System.out.println(emp.getEmpName()); }session.close(); }//06.智能标签Foreach List<StudentInfo> @Test public void testForeachListStudent(){ SqlSession session= MyBatisUtil.getSession(); IStudentInfoDAO dao = session.getMapper(IStudentInfoDAO.class); List<StudentInfo> list=new ArrayList<StudentInfo>(); StudentInfo s1=new StudentInfo(); s1.setStuId(2); StudentInfo s2=new StudentInfo(); s2.setStuId(5); list.add(s1); list.add(s2); List<StudentInfo> list2 = dao.findByForeachListStudent(list); for (StudentInfo stuinfo:list2) {System.out.println(stuinfo.getStuName()); } session.close(); }//06.智能标签Foreach List<Integer> @Test public void testForeachList(){ SqlSession session= MyBatisUtil.getSession(); IStudentInfoDAO dao = session.getMapper(IStudentInfoDAO.class); List<Integer> list=new ArrayList<Integer>(); list.add(2); list.add(5); List<StudentInfo> list2 = dao.findByForeachList(list); for (StudentInfo stuinfo:list2) {System.out.println(stuinfo.getStuName()); } session.close(); }//06.智能标签Foreach array @Test public void testForeachArray(){ SqlSession session= MyBatisUtil.getSession(); IStudentInfoDAO dao = session.getMapper(IStudentInfoDAO.class); int[] ids={2,5}; List<StudentInfo> list = dao.findByForeachArray(ids); for (StudentInfo stuinfo:list) {System.out.println(stuinfo.getStuName()); } session.close(); }//05.智能标签choose @Test public void testChoose(){ SqlSession session= MyBatisUtil.getSession(); IStudentInfoDAO dao = session.getMapper(IStudentInfoDAO.class); StudentInfo stu=new StudentInfo(); // stu.setStuName("雨"); // stu.setStuAge(20); List<StudentInfo> list = dao.findByChoose(stu); for (StudentInfo stuinfo:list) {System.out.println(stuinfo.getStuName()); } session.close(); }//05.智能标签if @Test public void testIf(){ SqlSession session= MyBatisUtil.getSession(); IStudentInfoDAO dao = session.getMapper(IStudentInfoDAO.class); StudentInfo stu=new StudentInfo(); // stu.setStuName("雨"); stu.setStuAge(20); List<StudentInfo> list = dao.findByIf(stu); for (StudentInfo stuinfo:list) {System.out.println(stuinfo.getStuName()); } session.close(); }//04.多条件查询 @Test public void testSelectLikeMulti(){ SqlSession session= MyBatisUtil.getSession(); IStudentInfoDAO dao = session.getMapper(IStudentInfoDAO.class);List<StudentInfo> list = dao.findStudentsByConditionMutliArgs("雨",20); for (StudentInfo stu:list) { System.out.println(stu.getStuName()); } session.close(); }//04.多条件查询 @Test public void testSelectLike(){ SqlSession session= MyBatisUtil.getSession(); IStudentInfoDAO dao = session.getMapper(IStudentInfoDAO.class); Map<String,Object> map=new HashMap<String,Object>(); map.put("stuName","雨"); map.put("stuAge",20); List<StudentInfo> list = dao.findStudentsByCondition(map); for (StudentInfo stu:list) { System.out.println(stu.getStuName()); } session.close(); }}
阅读全文
0 0
- IDEA
- idea..
- idea
- Idea
- idea
- idea
- idea
- Idea
- idea
- idea
- idea
- idea
- Idea
- idea
- IDEA
- idea
- idea
- IDEA
- Python 3从入门到精通11- 获取键盘输入函数
- nginx初探——安装、启动、关闭
- “几维安全”获宽带资本千万级Pre-A轮融资,在移动安全上另辟蹊径
- 设计模式之单例模式
- Java学习笔记Day01
- idea
- DOM对象
- Elasticsearch使用Scroll-Scan实现数据遍历
- java反射
- shuoj 风力检测 线段树
- HTML特殊符号对照表、常用的字符实体、ASCII码
- IBM watson API解析1-Speech To Text(语音转文本)
- Android异常 SecurityException: Permission Denial: starting Intent
- 剑指offer-复杂链表的复制