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.witwicky.mapper.UserMap">

	<insert id="insertUser" parameterType="com.witwicky.pojo.User">
		<!-- 将自动生成的编号放入user对象中的id属性中 -->
		<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">
			select
			LAST_INSERT_ID()
		</selectKey>
		insert into user (username, sex, birthday, address)
		values
		(#{username}, #{sex}, #{birthday}, #{address})
	</insert>

	<delete id="deleteUserById" parameterType="java.lang.Integer">
		delete from user where
		id = #{id}
	</delete>

	<update id="updateUser" parameterType="com.witwicky.pojo.User">
		update user set name=
		#{name} where id=#{id}
	</update>

	<select id="selectAllUser" resultType="com.witwicky.pojo.User">
		select * from user
	</select>

	<select id="selectUserByUserName" parameterType="java.lang.String"
		resultType="com.witwicky.pojo.User">

		<!-- List<User> list = sqlSession.selectList("test.selectUserByUserName", 
			"张"); -->
		select * from user where username like '%${value}%'

		<!-- List<User> list = sqlSession.selectList("test.selectUserByUserName", 
			"%张%"); -->
		<!-- select * from user where name like #{name} -->
	</select>


	<!-- 查询订单信息,包含用户信息 -->
	<resultMap type="com.witwicky.pojo.Orders" id="findOrdersResultMap">
		<id property="id" column="order_id" />
		<result property="userId" column="user_id" />
		<result property="number" column="number" />
		<result property="createtime" column="createtime" />
		<result property="note" column="note" />

		<association property="user" javaType="com.witwicky.pojo.User">
			<id property="id" column="id" />
			<result property="username" column="username" />
			<result property="sex" column="sex" />
			<result property="birthday" column="birthday" />
			<result property="address" column="address" />
		</association>
	</resultMap>
	<select id="findOrders" resultMap="findOrdersResultMap">
		select u.*, o.id as order_id,
		o.user_id, o.number, o.createtime, o.note from user as u, orders as o
		where u.id = o.user_id
	</select>


	<!-- 查询用户信息,包含订单 -->
	<resultMap type="com.witwicky.pojo.User" id="findUserContainOrdersResultMap">
		<id property="id" column="id" />
		<result property="username" column="username" />
		<result property="sex" column="sex" />
		<result property="birthday" column="birthday" />
		<result property="address" column="address" />

		<collection property="orders" ofType="com.witwicky.pojo.Orders">
			<id property="id" column="order_id" />
			<result property="userId" column="user_id" />
			<result property="number" column="number" />
			<result property="createtime" column="createtime" />
			<result property="note" column="note" />
		</collection>
	</resultMap>
	<select id="findUserContainOrders" resultMap="findUserContainOrdersResultMap">
		select u.*, o.id as
		order_id,
		o.user_id, o.number, o.createtime, o.note from user as u,
		orders as o
		where u.id = o.user_id
	</select>

</mapper>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值