一. 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">
<mapper namespace="com.project.dao.UserDao">
<!--查询全部-->
<select id="findAll" resultType="com.itheima.domain.SysUser">
select * from sys_user
</select>
<!--根据id查询-->
<!--parameterType:指定参数类型-->
<!--简单类型:基本数据类型&保证类型 String
如果参数是简单类型,引用时名称随便写-->
<select id="findById" resultType="com.itheima.domain.SysUser" parameterType="java.lang.Integer">
select * from sys_user where id = #{id}
</select>
<!--模糊查询-->
<!--
1. 如果 #{name} ,传递参数 %li%
2. 如果 "%"#{name}"%",传递参数: li
3. 如果'%${value}%',传递参数 li
如果传递的是简单类型参数,必须使用${value}
如果是pojo, 必须${属性名}
-->
<!--
#{}: 相当于jdbc中的 ?, 可以根据类型转换,判断是否需要引号之类的东西
${}: 直接拼接,不能防注入,不能判断类型,直接连接
-->
<select id="findByName" resultType="com.itheima.domain.SysUser" parameterType="java.lang.String">
select * from sys_user where name like '%${value}%'
</select>
<!--添加-->
<!--
参数类型:pojo对象,引用实体类中的属性名
#{name},引用的是实体类中的name属性
-->
<!--
selectKey: 查询键值
属性:order:在添加之前查询,还是之后查询
keyProperty: 对应pojo对象中的属性名
keyColumn: 对应数据库中某列
resultType: 返回值类型
select last_insert_id();: 是mysql数据库的一个函数,获取该表最后一次添加的自增的值
-->
<insert id="save" parameterType="com.itheima.domain.SysUser">
<selectKey order="AFTER" keyProperty="id" keyColumn="id" resultType="java.lang.Integer">
select last_insert_id();
</selectKey>
insert into sys_user values(null ,'${name}',#{sex},#{birthday},#{address})
</insert>
<!--修改-->
<update id="update" parameterType="com.itheima.domain.SysUser">
update sys_user set name = #{name},sex=#{sex},birthday=#{birthday},address=#{address}
where id = #{id}
</update>
<!--删除-->
<delete id="delete" parameterType="java.lang.Integer">
delete from sys_user where id = #{abc}
</delete>
<!--查询记录数-->
<select id="findTotalCount" resultType="java.lang.Integer">
select count(*) from sys_user
</select>
</mapper>
Mybatis 框架配置文件详解(SqlMapConfig.xml&&Mapper.xml)链接