Mybatis 映射文件 - 用户、房间、文件、信息管理
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 映射文件定义了用户、房间、文件、信息等实体的映射关系,并提供了相应的增删改查操作,方便进行数据持久化。通过使用该映射文件,可以更方便地进行数据访问,提高开发效率。
原文地址: https://www.cveoy.top/t/topic/lBpL 著作权归作者所有。请勿转载和采集!