如果实体类的属性名称和数据库中的字段名称不一致,比如属性productName,数据库字段product_name。
这时候mybatis查询返回的结果需要跟实体类自动映射 就需要配置一下映射关系。
如果列名和属性名一样,那就不用配置映射关系了,直接使用resultType指定类就行。
如果不想输入全类名,需要配置mybatis包扫描路径。
这时候mybatis查询返回的结果需要跟实体类自动映射 就需要配置一下映射关系。
如果列名和属性名一样,那就不用配置映射关系了,直接使用resultType指定类就行。
如果不想输入全类名,需要配置mybatis包扫描路径。
<?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="com.xcg.webapp.mapper.ProductionMapper"> <!--当实体类中的 property 名称 和 数据库中的 column 名称不一致的时候,需要配置一个映射关系--> <resultMap id="BaseResultMap" type="com.xcg.webapp.model.entity.Production"> <id property="productionId" column="production_id" jdbcType="INTEGER" javaType="int"/> <id property="productionCode" column="production_code" jdbcType="VARCHAR" javaType="String"/> <id property="productionName" column="production_name" jdbcType="VARCHAR" javaType="String"/> <id property="imgUrl" column="img_url" jdbcType="VARCHAR" javaType="String"/> <id property="spec" column="spec" jdbcType="VARCHAR" javaType="String"/> <id property="purchasePrice" column="purchase_price" jdbcType="DECIMAL" javaType="BigDecimal"/> <id property="salesPrice" column="sales_price" jdbcType="DECIMAL" javaType="BigDecimal"/> <id property="productionStatus" column="production_status" jdbcType="VARCHAR" javaType="String"/> </resultMap> <!--保存--> <insert id="create" parameterType="com.xcg.webapp.model.entity.Production" useGeneratedKeys="true" keyProperty="production_id"> insert into production(production_code,production_name,img_url,spec,purchase_price,sales_price,production_status) values(#{serial},#{production_code},#{production_name},#{img_url},#{spec},#{purchase_price},#{sales_price},#{production_status}); </insert> <!--获取集合--> <!--resultMap="BaseResultMap"--> <!--resultType="com.xcg.webapp.model.entity.Production"--> <select id="getAllList" resultType="com.xcg.webapp.model.entity.Production"> select * from production limit 10; </select> <!--获取单个--> <select id="getModelById" parameterType="INTEGER" resultType="com.xcg.webapp.model.entity.Production"> select * from production where production_id=#{id}; </select> </mapper>
也可以sql查询字段 as 成类中的属性名称,这样使用resultType就行,比如:select pro_name as proName from production