哪个网站可以建设网站,影视广告宣传片制作公司,钦州网站制作,怎么推广网站链接①MyBatis中resultType和resultMap的区别
1.使用MyBatis查询数据库记录时#xff0c;返回类型常用的有两种#xff1a;resultType和resultMap。那么两者之间有什么区别呢#xff1f;
如果只是返回一个值#xff0c;简单类型#xff0c;比如说String或者int#xff0c;那…①MyBatis中resultType和resultMap的区别
1.使用MyBatis查询数据库记录时返回类型常用的有两种resultType和resultMap。那么两者之间有什么区别呢
如果只是返回一个值简单类型比如说String或者int那直接用resultType就行了
select idgetUserName resultTypejava.lang.Stringselect user_name from t_users
/select
2.如果sql查询结果返回的是单一记录列名和实体类中的字段名一致可以使用resultTypeMyBatis会自动把查询结果赋值给和字段名一致的字段。 如果sql查询结果返回的列名和实体类中的字段名一致可以使用resultTypeMyBatis会自动把查询结果赋值给和字段名一致的字段。
Data
public class Users {private Long id;private String userName;private Integer sex;}
select idgetUsersType resultTypecom.zkzong.mybatis.domain.Usersselect user_name userName, sex from t_users
/select
3.如果单一记录列不一致sql语句中可以使用别名的方式使其一致。
当sql的列名和实体类的列名不一致这时就可以使用resultMap了。
resultMap iduserMap typeUser
result columnid propertyid/
result columnname propertyname/
result columnpwd propertypassword/
/resultMap
这样把相应的数据库字段映射到创建的实体类column代表的是数据库中字段名字property代表的是创建的实体类中相应的字段名也可以只修改不一样的字段名也能得到同样的结果。
4.如果返回的是记录的多条字段对应则用resultTypeUser
但是dao中是这样写
public ArrayListString searchUserRoles(int userId);
5.如果返回的是记录的多条字段不对应则用resultTypeMap而且resultMap要自定义映射。
但是dao中这样写
public ArrayListHashmap searchUserRoles(int userId);
也就是多条记录是依靠dao中的返回值来定义的。