select元素列名和javabean名称不匹配解决方式

select元素下的sql语句的列名javabean名称不匹配解决方式有两种

1.在列名中使用as作为别名



 2,使用resultMap元素指定



 引用它的语句使用resultMap属性就行了(注意需要去掉了resultType属性)



 

 

 

 

第1关:封装对象基本类型 100 学习内容 参考答案 记录 评论 任务描述 相关知识 场景介绍 resultType属性 一般数据类型 JavaBean类型 编程要求 测试说明 任务描述 本关任务:编写一个能够根据id查询学生信息以及统计某一性别的学生人数小程序。 相关知识 为了完成本关任务,你需要掌握:1.mybatis的resultType属性,2.SQL语句的编写。 场景介绍 使用Mybatis操作数据库的过程中,可避免的就是如何将查询的结果使用java类型进行封装。mybatis已经对常用的数据类型实现了对应的类型处理器,也可以进行自定义类型处理器(具体内容在实训Mybatis的核心配置中)。 在现实的场景中,可能查询单个字段,单个对象数据或者集合数据等。这时我们可以使用<resultType>属性对查询结果的类型进行指定。 t_user表结构: 字段 类型 说明 id int id主键 username varchar 用户名称 birthday int 年龄 sex varchar 性别 resultType属性 resultType 属性可以指定结果集的类型,它支持基本类型、Map集合、实体类类型。 注意:如果是实体类名称时,实体类中的属性名称必须查询语句中的列名保持一致,否则无法实现封装。 resultType属性值: 指定结果集类型的全限定路径 。 使用<typeAiases></typeAiases>标签为对象设置的别。 Mybatis默认支持的别。 一般数据类型 根据ID查询对应用户的名称,并使用reslutType指定查询结果的返回值类型为String。 //根据ID查询用户名称 String findUsernameById(int id); 指定 resultType 返回值类型是 String 类型的,string 在这里是一个别,代表的是 java.lang.String。 对于引用数据类型,都是将大写字母转小写,比如 HashMap 对应的别是 hashmap。 基本数据类型考虑到重复的问题,会在其前面加上_,比如 byte 对应的别是 '_byte'。 <!-- 根据 id 获取用户名称 --> <select id="findUsernameById" parameterType="int" resultType="string"> select username from t_user where id = #{id} </select> JavaBean类型 根据ID字段查询数据库中的用户信息,使用resultType指定对应JavaBean类型并进行封装。 //根据ID查询用户信息 User findUserById(int id); resultType中的user是一个别,代表的是com.educoder.entity.User。 如果未在mybatis-config.xml文件中设置 User对象的别,则需要使用User对象的全限定路径名称:com.educoder.entity.User。 <!-- 根据 id 获取用户信息 --> <select id="findUserById" parameterType="int" resultType="user"> select * from t_user where id = #{id} </select> 编程要求 根据提示,在右侧编辑器补充代码,使用Mybatis对数据库进行操作,具体步骤如下: 根据StudentMapper.java文件定义的方法,在StudentMapper.xml文件中编写SQL并对返回的数据进行映射。 在StudentTest.java文件中编写测试代码,获取SqlSession对象插入数据,调用StudentMapper.xml中编写的 SQL 语句,并提交事务。 StudentMapper.java文件中的方法: findStudentById()方法:根据Id查询学生信息,查询结果为com.educoder.entity.Student对象类型。 countStudentBySex()方法:根据Sex统计该性别的学生人数,查询结果为Integer对象类型。 t_student表结构: 字段 类型 说明 id int id主键 name varchar 学生名称 age int 年龄 sex varchar 性别 grade varchar 评分等级:A、B、C、D 测试说明 平台会对你编写的代码进行测试: 预期输出: [com.educoder.mapper
最新发布
03-28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值