Mybatis的mapper.xml文件也是要加文件头的

<?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">
<!-- 写Sql语句 -->
<mapper namespace="com.itheima.mybatis.mapper.UserMapper">
<!-- 通过ID查询一个用户 -->
<select id="findUserById" parameterType="Integer" resultType="User">
select * from user where id = #{v}
</select>

<!-- //根据用户名称模糊查询用户列表
#{} select * from user where id = ? 占位符 ? == ‘五‘
${} select * from user where username like ‘%五%‘ 字符串拼接

-->
<select id="findUserByUsername" parameterType="String" resultType="com.itheima.mybatis.pojo.User">
select * from user where username like "%"#{haha}"%"
</select>

<!-- 添加用户 -->
<insert id="insertUser" parameterType="com.itheima.mybatis.pojo.User">
<selectKey keyProperty="id" resultType="Integer" order="AFTER">
select LAST_INSERT_ID()
</selectKey>
insert into user (username,birthday,address,sex)
values (#{username},#{birthday},#{address},#{sex})
</insert>

<!-- 更新 -->
<update id="updateUserById" parameterType="com.itheima.mybatis.pojo.User">
update user
set username = #{username},sex = #{sex},birthday = #{birthday},address = #{address}
where id = #{id}
</update>

<!-- 删除 -->
<delete id="deleteUserById" parameterType="Integer">
delete from user
where id = #{vvvvv}
</delete>

</mapper>

原文地址:https://www.cnblogs.com/zjj1996/p/9100759.html

时间: 2024-10-25 13:26:16

Mybatis的mapper.xml文件也是要加文件头的的相关文章

【MyBatis】Mapper XML 文件

Mapper XML文件 MyBatis 的真正强大在于它的映射语句,也是它的魔力所在.由于它的异常强大,映射器的 XML 文件就显得相对简单.如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码.MyBatis 就是针对 SQL 构建的,并且比普通的方法做的更好. SQL 映射文件有很少的几个顶级元素(按照它们应该被定义的顺序): cache – 给定命名空间的缓存配置. cache-ref – 其他命名空间缓存配置的引用. resultMap – 是最复杂

Mybatis学习--Mapper XML文件

学习笔记,选自Mybatis官方中文文档:http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html#insert_update_and_delete MyBatis 的真正强大在于它的映射语句,也是它的魔力所在.由于它的异常强大,映射器的 XML 文件就显得相对简单.如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码.MyBatis 就是针对 SQL 构建的,并且比普通的方法做的更好. SQL 映射文件有很少的几

MyBatis之Mapper XML 文件详解(三)-Result Maps

resultMap 元素是 MyBatis 中最重要最强大的元素.它就是让你远离 90%的需要从结果 集中取出数据的 JDBC 代码的那个东西, 而且在一些情形下允许你做一些 JDBC 不支持的事 情. 事实上, 编写相似于对复杂语句联合映射这些等同的代码, 也许可以跨过上千行的代码. ResultMap 的设计就是简单语句不需要明确的结果映射,而很多复杂语句确实需要描述它们 的关系. 你已经看到简单映射语句的示例了,但没有明确的 resultMap.比如: <select id="sel

MyBatis之Mapper XML 文件详解(二)-sql和入参

sql 这个元素可以被用来定义可重用的 SQL 代码段,可以包含在其他语句中.它可以被静态地(在加载参数) 参数化. 不同的属性值通过包含的实例变化. 比如: <sql id="userColumns"> ${alias}.id,${alias}.username,${alias}.password </sql> 这个 SQL 片段可以被包含在其他语句中,例如: <select id="selectUsers" resultType=&

MyBatis之Mapper XML 文件详解(五)-自动映射查询结果

正如你在前面一节看到的,在简单的场景下,MyBatis可以替你自动映射查询结果. 如果遇到复杂的场景,你需要构建一个result map. 但是在本节你将看到,你也可以混合使用这两种策略. 让我们到深一点的层面上看看自动映射是怎样工作的. 当自动映射查询结果时,MyBatis会获取sql返回的列名并在java类中查找相同名字的属性(忽略大小写). 这意味着如果Mybatis发现了ID列和id属性,Mybatis会将ID的值赋给id. 通常数据库列使用大写单词命名,单词间用下划线分隔:而java属

MyBatis之Mapper XML 文件详解(四)-JDBC 类型和嵌套查询

支持的 JDBC 类型为了未来的参考,MyBatis 通过包含的 jdbcType 枚举型,支持下面的 JDBC 类型. BITFLOATCHARTIMESTAMPOTHERUNDEFINEDTINYINTREALVARCHARBINARYBLOBNVARCHARSMALLINTDOUBLELONGVARCHARVARBINARYCLOBNCHARINTEGERNUMERICDATELONGVARBINARYBOOLEANNCLOBBIGINTDECIMALTIMENULLCURSORARRAY

Mybatis中Mapper.xml文件sql中动态获取----&gt;#{}和${}区别

1. #{} 获取参数的内容,支持索引获取,param1获取指定位置参数,并且sql使用?占位符 2. ${} 纯字符串拼接,不使用?,默认找${内容}内容的get/set方法,如果写数字,就是一个数字 原文地址:https://www.cnblogs.com/yikuan-919/p/9691702.html

启动项目时,mapper.xml文件没有导入

原因分析:绑定的statement没有发现,原因是只有mapper接口的java文件,没有xml文件 解决方法:需要在pom文件中进行配置 1 <!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉. --> 2 <build> 3 <resources> 4 <resource> 5 <directory>src/main/java</directory> 6 <includes> 7 <in

MyBatis Mapper.xml文件中 $和#的区别

MyBatis Mapper.xml文件中 $和#的区别 网上有很多,总之,简略的写一下,作为备忘.例子中假设参数名为 paramName,类型为 VARCHAR . 1.优先使用#{paramName,jdbcType=VARCHAR} 写法,除了可以防止sql注入以外,它还能在参数里含有单引号的时候自动转义, 而${paramName}由于是类似于拼接sql的写法,不具备此功能. 2.注意,使用 #{paramName,jdbcType=VARCHAR} 写法的时候,模糊查询的写法为:'%'