mybaties入门---环境搭建

Posted 入道弥深,所见弥大

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybaties入门---环境搭建相关的知识,希望对你有一定的参考价值。

1.以maven、springboot为基础脚手架。
2.新建一个maven项目
3.前端页面bootstrap、bootstrap-table、layer、jquery
4.后端mybatis、工具类Guava、参数校验validation等
5.controller类上必须加@Validate,参数校验@NotBlank 才能生效。

@RestController
@RequestMapping("/webApi")
@Validated
public class ApiController {
    @GetMapping("allUser")
    public List<AppUser> allUser(@NotBlank String name){
       return null;
    }
  
}

6.mybatis sql 标签的作用

<sql id="dto">
       id,name,phone,email,aboutme,avatar,type,create_time,enable,agency_id
    </sql>
    <select id="getUser" resultType="AppUser">
        SELECT <include refid="dto" />FROM USER order by id desc
    </select>

7.mybatis 模糊查询 bind 标签的作用可以用来绑定变量,可防止sql 注入

<select id="queryUser" resultType="AppUser">
        select
        <include refid="dto" /> from USER where
        <if test="phone != null and phone != \'\'">
            <bind name="uphone" value="\'%\'+phone+\'%\'"/>
            phone like #{uphone}
        </if>
         <if test="name != null and name != \'\'">
             <bind name="uname" value="\'%\'+name+\'%\'"/>
             and name like #{uname}
         </if>
         order by id desc
    </select>

8.动态sql 标签,where \\ if test="",这里注意下,在代码里做了控制,每次只允许用一个参数不为空,两个为空,所以这里没加 and

<select id="getUserByEmPhoneName" parameterType="java.util.HashMap" resultType="AppUser">
        select
        <include refid="dto" /> from USER where
         <if test="name !=null and name != \'\'">
             name = #{name}
         </if>
        <if test="email != null and email != \'\'">
            email = #{email}
        </if>
        <if test="phone != null and phone != \'\'">
            phone = #{phone}
        </if>
    </select>

9.新增记录的时候主键自增、前提数据得支持自增,使用useGeneratedKeys属性

    <insert id="insert" parameterType="AppUser" useGeneratedKeys="true">
        insert into  USER(name,phone,email,passwd,avatar,type,create_time,enable,aboutme)
        values (#{name},#{phone},#{email},#{passwd},#{avatar},#{type},#{createTime},#{enable},#{aboutme})
    </insert>

11.mybatis foreach标签的使用

   <insert id="deleteUser" parameterType="java.util.List">
        UPDATE USER SET enable = \'1\' where id in
        <foreach item="item" collection="list" separator="," open="(" close=")" index="">
               #{item}
        </foreach>
    </insert>

12.案例完成简单增删改查,需求如下:

案例demo下载地址
13.nginx作为本地文件服务器的配置--readme.txt

以上是关于mybaties入门---环境搭建的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis程序入门案例

MybatisMybatis入门——Mybatis开发环境的搭建

mybaties入门---环境搭建

mybatis入门(一)创建java工程搭建mybatis环境

mybatis学习之环境搭建&入门实例

mybatis复习