
a.name LIKE CONCAT(CONCAT("%","param.name"),"%")。
import com.baomidou.mybatisplus.core.metadata.IPage
dao,Ipage<entity>pageRecord(Ipage<entity>page, Param param)
xml,sql语句不需要做显式分页,Ipage会代替做。
service,Ipage<entity>res = dao.pageRecord(new Page<>(current, size), param)int sum = res.getTotal()List<entity>records = res.getRecords()
在mapper中直接分页没法得到数据总数,此时可以使用MyBatis的自定义分页Ipage,Ipage<entity>page(new Page<>(current, size)),赋值分页参数,返回用Ipage<entity>接收,总数在Ipage.getTotal()里面,数据在Ipage.getRecords()里面。
Ipage会先根据条件执行count(*),再执行SQL获取数据。
select * from 表1 inner join 表2 on 关联条件
select * from 表1 left outer join 表2 on 关联条件
select * from 表1 right outer join 表2 on 关联条件
select * from 表1 cross join 表2 on 关联条件
MYSQL查询
查询平均成绩大于70分的同学的学号和平均成绩
SELECT s.id,AVG(sc.score) FROM student s,studentcourse sc WHERE s.id=sc.student_id GROUP BY s.id HAVING AVG(sc.score)>70
查询所有同学的学号、姓名、选课数、总成绩
SELECT id,NAME
FROM student
WHERE id NOT IN (SELECT student_id
FROM studentcourse
WHERE course_id IN (SELECT course.id
FROM teacher,course
WHERE teacher.id=course.teacher_id
AND teacher.name=’关羽’))
查询学生信息和平均成绩
SELECT s.id,s.name,s.city,s.age, c.name,sc.score,t.name
FROM student s,studentcourse sc,course c,teacher t
WHERE s.id=sc.student_id AND c.id=sc.course_id AND c.teacher_id=t.id GROUP BY s.id
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)