MyBatis之特别篇
来源:互联网 发布:软件项目管理pdf 编辑:程序博客网 时间:2024/03/29 17:59
实体类User.java
import java.io.Serializable;/** * 用户的这个实体 * */public class User implements Serializable{ /** * */ private static final long serialVersionUID = 1L; private int uId; private String uName; private String uPassword; public User() { super(); } public User(int uId, String uName, String uPassword) { super(); this.uId = uId; this.uName = uName; this.uPassword = uPassword; } public int getuId() { return uId; } public void setuId(int uId) { this.uId = uId; } public String getuName() { return uName; } public void setuName(String uName) { this.uName = uName; } public String getuPassword() { return uPassword; } public void setuPassword(String uPassword) { this.uPassword = uPassword; } @Override public String toString() { return "User [uId=" + uId + ", uName=" + uName + ", uPassword=" + uPassword + "]"; }}
映射文件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="userMapper"> <!-- 需求:假设我需要查询所给用户id的所有用户 (必须适使用集合来实现) --> <!--给定一连串的用户id 然后来 获取用户的对象值--> <select id="findUserByIds" parameterType="java.util.List" resultType="com.wc.test01.User"> select * from t_user <!--使用动态的sql来进行拼接 collection:集合对象的名字你记住 list集合对象的对象就是 list item:每一次遍历出来的对象 名字是可以随便写的 但是 一般要见名之意 open:拼接Sql之前以什么开始 就是在遍历数据之前 close:就是以什么结尾 结束符 separator:遍历出来的数据以什么进行分割 --> <foreach collection="list" item="id" open="where uId in(" separator="," close=")"> #{id} </foreach> </select> <!-- 需求:假设我需要查询所给用户id的所有用户 (必须适使用集合来实现) 集合可以为null--> <!--给定一连串的用户id 然后来 获取用户的对象值--> <select id="findUserByIdsIsNull" parameterType="java.util.List" resultType="com.wc.test01.User"> select * from t_user <!--使用动态的sql来进行拼接 collection:集合对象的名字你记住 list集合对象的对象就是 list item:每一次遍历出来的对象 名字是可以随便写的 但是 一般要见名之意 open:拼接Sql之前以什么开始 就是在遍历数据之前 close:就是以什么结尾 结束符 separator:遍历出来的数据以什么进行分割 --> <!--if条件判断的用法--> <if test="list!=null"> <foreach collection="list" item="id" open="where uId in(" separator="," close=")"> #{id} </foreach> </if> </select> <!--多条件的查询,且条件不定--> <select id="findUserByManyCondition" parameterType="map" resultType="com.wc.test01.User"> select * from t_user <!--where 条件还可以这样写--> <include refid="bobo"></include> </select> <!--下面定义的是sql的片段--> <sql id="bobo"> <where> 1=1 </where> <if test="uName!=null and uName!=''"> and uName=#{uName} </if> <if test="uPassWord!=null and uPassWord!=''"> and uPassWord=#{uPassWord} </if> </sql> <!--通过用户的名字来查询用户 如果传递过来的是数组的话那么 接受的时候使用 接受的数据类型使用 list来接受 --> <select id="findUserbyNames" parameterType="list" resultType="com.wc.test01.User"> select * from t_user where 1=1 <!--如果传递过来是数组的话那么下面的对象的名字 就必须是 array--> <foreach collection="array" item="name" open="and uName in(" separator="," close=")"> #{name} </foreach> </select> <!-- list结合中是user的这种情况,注返回结果如果是一个集合,不能写成List形式,只需要写List中的对象的类型即可--> <select id="findUserbyNames1" parameterType="list" resultType="com.wc.test01.User"> select * from t_user where 1=1 <!--如果传递过来是数组的话那么下面的对象的名字 就必须是 array--> <foreach collection="list" item="user" open="and uName in(" separator="," close=")"> #{user.uName} </foreach> </select></mapper>
注:返回结果如果是一个集合,不能写成List形式,只需要写List中的对象的类型即可 ,否则会报错
阅读全文
0 0
- MyBatis之特别篇
- SpringMVC+MyBatis整合(3)特别篇SpringMVC配置
- const特别之处
- mysql mybatis 查询数据特别慢
- ZendFramework学习(特别篇之自我调整!)
- 闪回技术之数据库级闪回特别篇1
- 闪回技术之表级闪回特别篇2
- 闪回技术之事物级闪回特别篇3
- 特别篇之动态链接库,静态链接库
- Unity3D教程宝典之Shader篇:特别讲 CG函数
- 我的单片机方法论2之STM32单片机特别篇
- [特别放送] 双十一孝心清单之程序员篇
- MyBatis之理论篇
- Perl的特别之处
- scala的特别之处
- 通讯协议特别篇
- JavaNote-继承特别篇
- [囧途系列之特别篇]IT者的生存之路
- 做项目多渠道打包的时候遇到的问题
- Unity3d 判断 IOS 设备网络环境 IPV4 or IPV6
- java实现网易云短信接口
- JavaScript 保留两位小数的方法
- Spring中bean的作用域
- MyBatis之特别篇
- 什么是持久化?
- Android Studio中获取查看签名SHA1证书指纹数据或MD5的方法
- Python 线程
- 一个高性能、轻量级的分布式内存队列系统--beanstalk
- lombok 作用
- 视频、音频打时间戳的方法(转)
- linux下创建具有root权限的帐号
- 在【商品列表页面】分享【商品详情】----网易手推公众号效果