Mybatis 映射文件 - 用户、房间、文件、信息管理

该 Mybatis 映射文件定义了用户、房间、文件、信息等实体的映射关系,以及对应的增删改查操作。

数据库逻辑设计

表结构

  • 用户基本信息表 (userId, userName, sex, password, phone)
  • 房间信息表 (roomId, price, type, area, address, total, roomDescribe, categoryId)
  • 文件信息表 (fileId, fileTitle, fileUrl)
  • 信息表 (informationsId, ...)

外键关系

  • 房间信息表类别信息表 之间存在外键关系,通过 categoryId 字段关联。

数据操作

用户管理

  • 登录
  • 修改密码
  • 判断用户是否存在

房间管理

  • 查询所有房间
  • 删除房间
  • 更新房间信息
  • 根据房间编号查询房间
  • 新增房间

文件管理

  • 新增文件

信息管理

  • 查询所有信息

代码示例

<?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='cn.smbms.dao.ClientDao'>
    <resultMap id='baseResultMap' type='cn.smbms.pojo.Client'>
        <result column='id' jdbcType='INTEGER' property='id' />
        <result column='roomId' jdbcType='INTEGER' property='roomId' />
        <result column='name' jdbcType='VARCHAR' property='name' />
        <result column='sex' jdbcType='VARCHAR' property='sex' />
        <result column='phone' jdbcType='VARCHAR' property='phone' />
        <result column='age' jdbcType='VARCHAR' property='age' />
        <result column='addr' jdbcType='VARCHAR' property='addr' />
        <association property='room' javaType='cn.smbms.pojo.Room'>
            <result column='roomId'  property='roomId' />
            <result column='price'  property='price' />
            <result column='type'  property='type' />
            <result column='area'  property='area' />
            <result column='total'  property='total' />
            <result column='address'  property='address' />
            <result column='roomDescribe'  property='roomDescribe' />
            <result column='categoryId'  property='categoryId' />
        </association>
    </resultMap>
    <!-- 查询所有 客户-->
    <select id='selectAllClient'  resultMap='baseResultMap'>
    		select *   from  client a left join room b on a.roomId=b.roomId
    </select>


    <!--id查询-->
    <select id='selectById' resultType='cn.smbms.pojo.Client'>
        select * from  client where id=#{id}
    </select>
    <!--更新-->
    <update id='updClientById' parameterType='cn.smbms.pojo.Client'>
    update client set roomId=#{roomId},name=#{name},sex=#{sex},age=#{age},phone=#{phone},addr=#{addr} where id=#{id}
    </update>


    <!--新增-->
    <insert id='insertClient' parameterType='cn.smbms.pojo.Client'>
        INSERT INTO client(roomId,name,sex,age,phone,addr)
        VALUES (#{roomId},#{name},#{sex},#{age},#{phone},#{addr})
    </insert>

    <!--前台登录-->
    <select id='LoginClient' parameterType='Client' resultType='cn.smbms.pojo.Client'>
    		select *
	        from users
	        where userId=#{userId}
	        and passWord =#{passWord}
    </select>

    <!--前台注册-->
    <insert id='RegisterClient' parameterType='Client'>
        INSERT INTO users(userId,passWord)
        VALUES (#{userId},#{passWord})
    </insert>
</mapper>


<?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='cn.smbms.dao.InformationsDao'>
    <!--查询-->
    <select id='findInformations'  resultType='cn.smbms.pojo.Informations'>
    		select * from smbms_provider
    </select>


</mapper>



<?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='cn.smbms.dao.MyFileDao'>

    <insert id='insertFile' parameterType='cn.smbms.pojo.MyFile'>
        INSERT INTO myfile(fileTitle,fileUrl)
        VALUES (#{fileTitle},#{fileUrl})
    </insert>

</mapper>




<?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='cn.smbms.dao.RoomDao'>
    <resultMap id='baseResultMap' type='cn.smbms.pojo.Room'>
        <result column='roomId' jdbcType='INTEGER' property='roomId' />
        <result column='price' jdbcType='VARCHAR' property='price' />
        <result column='type' jdbcType='VARCHAR' property='type' />
        <result column='area' jdbcType='VARCHAR' property='area' />
        <result column='address' jdbcType='VARCHAR' property='address' />
        <result column='total' jdbcType='VARCHAR' property='total' />
        <result column='roomDescribe' jdbcType='VARCHAR' property='roomDescribe' />
        <result column='categoryId' jdbcType='INTEGER' property='categoryId' />
        <association property='category' javaType='cn.smbms.pojo.Category'>
            <result column='categoryId'  property='categoryId' />
            <result column='categoryName'  property='categoryName' />
        </association>
    </resultMap>
    <!-- 查询所有 房型-->
    <select id='selectAllRoom' resultMap='baseResultMap'>
    		select *   from  room a left join category b on a.categoryId=b.categoryId
    </select>
    <!--删除-->
    <delete id='deleteRoom' parameterType='Integer'>
    	 delete from  room where roomId = #{roomId}
	</delete>

    <!--更新-->
    <update id='updRoomById' parameterType='cn.smbms.pojo.Room'>
        update room set price=#{price},type=#{type},area=#{area},total=#{total},address=#{address},roomDescribe=#{roomDescribe} where roomId=#{roomId}
    </update>

    <!--id查询-->
    <select id='selectByIdOfVue' resultType='cn.smbms.pojo.Room' parameterType='String'>
        select * from  room where roomId=#{roomId}
    </select>
    <!--id查询-->
    <select id='selectById' resultType='cn.smbms.pojo.Room'>
        select * from  room where roomId=#{roomId}
    </select>


    <!--新增房型-->
    <insert id='insertRoom' parameterType='cn.smbms.pojo.Room'>
        INSERT INTO room(roomId,type,area,price,total,address,roomDescribe)
        VALUES (#{roomId},#{type},#{area},#{price},#{total},#{address},#{roomDescribe})
    </insert>


    <!-- 查询所有房型前端接口-->
    <select id='findAllRoomVue' resultMap='baseResultMap'>
    		select *   from  room a left join category b on a.categoryId=b.categoryId
    </select>

    <select id='findRoomVue1' resultType='cn.smbms.pojo.Room'>
    		select *   from  room  where categoryId=#{categoryId}
    </select>
    <select id='findRoomVue2' resultType='cn.smbms.pojo.Room'>
    		select *   from  room  where categoryId=#{categoryId}
    </select>
    <select id='findRoomVue3' resultType='cn.smbms.pojo.Room'>
    		select *   from  room  where categoryId=#{categoryId}
    </select>
    <select id='findRoomVue4' resultType='cn.smbms.pojo.Room'>
    		select *   from  room  where categoryId=#{categoryId}
    </select>
    <select id='findRoomVue5' resultType='cn.smbms.pojo.Room'>
    		select *   from  room  where categoryId=#{categoryId}
    </select>



</mapper>



<?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='cn.smbms.dao.UserDao'>
    <!--  登录-->
    <select id='findUser' parameterType='String' resultType='cn.smbms.pojo.User'>
    		select *
	        from user
	        where userName=#{userName}
	        and userPassword =#{userPassword}
    </select>


	<!--判断管理员是否存在-->
	<select id='findUsersByUsername' resultType='cn.smbms.pojo.User'>
			select * from user
			where userName=#{userName}
	</select>


	<!--修改密码-->
	<update id='updateUser' parameterType='cn.smbms.pojo.User' >
		update user set userPassword=#{userPassword} where userName=#{userName}
	</update>

</mapper>

说明

  • 以上代码示例仅供参考,实际情况可能会有所不同。
  • 可以根据自己的需求对映射文件进行修改和扩展。

总结

该 Mybatis 映射文件定义了用户、房间、文件、信息等实体的映射关系,并提供了相应的增删改查操作,方便进行数据持久化。通过使用该映射文件,可以更方便地进行数据访问,提高开发效率。

Mybatis 映射文件 - 用户、房间、文件、信息管理

原文地址: https://www.cveoy.top/t/topic/lBpL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录