刚刚学习Mybatis,认识到增删改查这些操作都只能传入一个参数,传出一个参数。如果需要传入或传出好几个参数,则有两种方法:
方法1::这就需要定义PO(Persistent Object)类。我理解的PO类就是主要用来和数据库打交道的,该类的变量基本上都要在数据库表中存在(有可能分布在多张表中,比如将多表查询时获得的结果放到PO类中)。随便说一下VO类(Value Object),我理解的VO类主要用来实现实际的业务需求的,是对应我们现实生活中的某些事物的。PO和VO可以相互转换(通过属性与属性的对应,有可能需要若干个VO类才能构造成一个PO类)
插入某个类时:类中的属性和表中的字段对应
insert INTO `user` (username,sex,birthday,address) values(#{username},#{sex},#{birthday},#{address})
当对某个字段进行模糊查询时:可以这样
resultType="com.henrykin.po.User">
select * from user where username like '%${name}%'
可是如果要对多个字段进行模糊查询时,我就不确定该怎么做了,因为只能传入一个参数。我尝试将多个字段组成一个PO类,然后传入这个PO类。下面的NameAndAddress是自定义的PO类,类中有name和address成员变量,生成getter,setter方法。
如:下面展示两个字段:
resultType="com.henrykin.po.User">