八、mybaitis学习 ——增删改查及自增主键获取(使用初级)

八、mybaitis学习 ——增删改查及自增主键获取(使用初级)

<?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="UserMapper">   
     <!-- 一、insert语句及获取添自增主键 
        parameterType : 参数类型 全限定类名或者别名
        id:方法名,唯一标识
        #{} :mybatis中的占位符 ,需要传递对象中属性的名称
            取值的方式:OGNL表达式
     -->
    <!-- 保存之后,对user对象的id属性进行赋值 
        1.属性useGeneratedKeys 结合 属性keyProperty
            当保存的时候,直接将数据库的主键值存入到对象的id属性中

        2.属性keyProperty结合子标签selectKey
            keyProperty : 对象中的id属性名称
            order : after 执行顺序,当保存语句执行完成之后,立即发送一条   select last_insert_id()语句查询最后插入的主键
            resultType:返回值类型
            select last_insert_id();//mysql数据库中的语法,获取最后一次保存的数据主键

    -->
    <insert id="saveUser"  parameterType="cn.itcast.entity.User" useGeneratedKeys="true" keyProperty="id">
<!--        <selectKey order="AFTER" resultType="java.lang.Integer" keyProperty="id">
                 select last_insert_id();
            </selectKey> -->
        insert into user (username,sex,birthday,address) values ( #{username} ,#{sex},#{birthday},#{address} )
    </insert>


    <!-- 二、update语句,修改用户 -->
    <update id="updateUser" parameterType="cn.itcast.entity.User">
        update user set username=#{username} , sex=#{sex} , birthday=#{birthday} ,address=#{address}
        where id=#{id}
    </update>

    <!-- 
        parameterType : 指定的是参数的类型,全限定类名
            对于自定义的javaBean对象
            占位符使用:#{java对象中属性的名称}
            对于基本数据类型
            占位符使用:#{随意},要求:使用有具体含义的字符串标识
     -->
    <!-- 三、delete语句、删除用户 -->
    <delete id="deleteUser" parameterType="java.lang.Integer">
        delete from user where id=#{艾迪}
    </delete>


    <!-- 四、select语句 根据用户名查询一个用户对象 -->
    <select id="findUserByName" parameterType="string" resultType="cn.itcast.entity.User">
        select * from user where username=#{username}
    </select>


    <!-- 五、模糊查询:根据用户名模糊查询所有用户
        方式一:将%写到参数上   配置文件中使用#{username}
        方式二:可以使用${} 结合% 表示模糊匹配

        #{}
            对占位符赋值(?)
            PreparedStatmen:预处理
        ${}
            sql拼接
            Statment处理
            * 有sql注入的风险
     -->
    <select id="findUserByNameLike" parameterType="STRing" resultType="cn.itcast.entity.User">
        select * from user where username like '%${value}%'
    </select>


</mapper>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值