一、建立Bean的妙用 1.private Integer id; 此定义的好处就是可以判断为空(if(id==null)) 成员变量:private 属性:get和set方法去掉get和set后首字母小写,即为属性 二、多表联查注意点:
<select id="getOrdersByOid" resultMap="ordersMap"> select * from tbl_orders where oid = #{oid} </select> <resultMap type="orders" id="ordersMap"> <!-- 主键资源,property代表Bean类中的属性名,column代表表中的字段名 --> <id property="oid" column="oid" /> <!-- result代表普通的列,如果字段和属性名一致,则可以省略 --> <result property="price" column="price" /> <!-- 返回为一个对象,如果十多个对象就需要是collection 。column是customer通过查询的字段。select是下一张表的namespace+id --> <association property="customer" column="cid" select="com.james.pojo.CustomersMapper.getCustomersByCid" fetchType="lazy" /> <!-- 返回为一个对象的集合,column是details中查询的字段 --> <collection property="details" column="oid" select="com.james.pojo.DetailsMapper.getDetailsByOid" ofType="details"></collection> </resultMap>
注意点1.当查询出来的有null时,可能是property(Bean中的属性名)和 column(数据库表的字段名) 不一样,然后你又没有写这个。只有property和column一样时才可以不写 三、mapper接口的方式: mybatis中注册:
<mappers> <!-- <mapper class="com.qf.dao.IUserDao"/> --> <mapper resource="com/qf/dao/UserMapper.xml"/> <!-- <package name="com.qf.dao"/> --> </mappers>
使用package可能会出现查找不到的问题 注意点:1.namespace必须是对应Dao接口的全类名(包名加类名) 2.id必须是对应Dao中的方法名
