mybatis学习笔记
来源:互联网 发布:计算机算法设计 网课 编辑:程序博客网 时间:2024/06/06 03:40
resultType:当数据库字段和实体类成员变量对应时
parameterType:更新插入删除操作可以用来表示参数类型,传过来的参数是一个变量时parameterType可以省略且#{}作为一个占位符,{}中填任意值都可以,多个变量时需要用索引
update T_student set student_sex=#{s} where student_id='4'
select操作比较特殊由于其查询结果是几个属性值,所以必须要封装成对象才能返回,所以必须用resultType或者resultMap,不能够省略
#{}中可以放什么
1.参数对象的属性
update T_student set student_sex=#{name},student_age=#{age} where student_id='2'
2.作为占位符时可以是任意内容
update T_student set student_sex=#{xx} where student_id='2'
3.参数为map时且key的value值是一个变量时那么就可以直接放key
4.参数为map对象时,key所对应的value是一个object时,那么#{}放的值就是对象点变量
update T_student set student_sex=#{stu.sex},student_age=#{stu.age} where student_id='2'
5.参数的索引
update T_student set student_sex=#{0},student_age=#{1} where student_id='2'
6.
1.数据量太大时不能直接where 1=1 and 条件。。。。。
slect * from table where 1=1 and 条件 and 条件
这样大量做1=1的判断会大大降低系统效率
应该采取下面此种方法
这里有几点需要说明,当但条件查询时前面的and会自动省略,多条件查询时
第一个满足条件的字段前面的and也会自动除去
<select id="querystudentlist" resultMap="result" >
select * from T_student
<include refid="condition"/>
</select>
<sql id="condition">
<where>
<if test="name and ''!=name">
and student_name=#{name}
</if>
<if test="sex and ''!=sex">
and student_sex=#{sex}
</if>
<if test="age and ''!=age">
and student_age=#{age}
</if>
</where>
</sql>
- mybatis 学习笔记
- MyBatis学习笔记
- mybatis学习笔记---入门
- MyBatis 学习笔记
- Mybatis学习笔记
- 【MyBatis学习笔记】系列
- Mybatis学习笔记
- mybatis学习笔记
- mybatis学习笔记
- MyBatis 学习笔记
- mybatis学习笔记
- mybatis学习笔记
- MyBatis学习笔记
- mybatis学习笔记
- Mybatis框架学习笔记
- Mybatis学习笔记
- MyBatis学习笔记
- MyBatis 学习笔记
- Jenkins忘记账号密码
- 调用时编译器的优化问题
- 详细bitbucket入门手册,手把手操作指南
- Java并发之定时任务接口ScheduledExecutorService
- osx多用户设置共享文件夹(MacBook)
- mybatis学习笔记
- 网上资料汇总。。。
- 3.偏头痛杨的常见设计模式入门系列之工厂模式篇(简单+方法+抽象)
- BZOJ1858股票交易 单调队列优化DP
- react-native的WebView使用
- 广州富敦举办下午茶不仅是员工福利,更是情怀
- 最近项目中给图片添加水印老失败,报错信息如下
- DDR3 寻址及原理
- 第九周java作业