Mybatis 映射文件示例:用户、房间、文件、类别等实体的映射关系
本系统使用 MySQL 数据库,使用关系数据模型。数据库包含以下表格:
-
用户表 (user):存储用户的基本信息,包括用户 ID、用户名、密码、性别、年龄、手机号码等字段。
-
房间表 (room):存储房间的基本信息,包括房间 ID、房间类型、面积、价格、总数、地址、房间描述等字段。
-
类别表 (category):存储房间类型的基本信息,包括类别 ID、类别名称等字段。
-
文件表 (myfile):存储上传的文件信息,包括文件 ID、文件标题、文件 URL 等字段。
-
客户表 (client):存储客户的基本信息,包括客户 ID、房间 ID、姓名、性别、电话、年龄、地址等字段。
以下展示了对应表格的 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="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 映射文件的基本结构和常用元素,例如 resultMap、select、insert、update、delete 等,以及如何定义 SQL 语句、参数映射、结果映射等。
希望这些示例可以帮助您理解 Mybatis 映射文件的用法。
原文地址: https://www.cveoy.top/t/topic/lBps 著作权归作者所有。请勿转载和采集!