美文网首页
Controller、Service注解,以及Mybatis的x

Controller、Service注解,以及Mybatis的x

作者: 素雪浮尘 | 来源:发表于2019-02-22 12:09 被阅读0次

    一、Controller

    @Controller
    用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。分发处理器将会扫描使用了该注解的类的方法。通俗来说,被Controller标记的类就是一个控制器,这个类中的方法,就是相应的动作


    @ResponseBody
    将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据。
    使用此注解之后不会再走试图处理器,而是直接将数据写入到输入流中


    @RestController
    相当于@ResponseBody + @Controller合在一起的作用


    @RequestMapping
    用来处理请求地址映射的注解

    @GetMapping:@RequestMapping(method =RequestMethod.GET)
    @PostMapping:用于增加
    @PutMapping:@RequestMapping(method =RequestMethod.PUT) ,用于更新
    @DeleteMapping
    @PatchMapping

    参数注解

    • @RequestBody User user
      将请求参数写入到user对象中
    • @RequestParam
      指明请求的参数
    • @Vaild
      验证参数的合法性
    • @PathVariable
      处理动态的URL
        /*
        * 请求参数必须为id,不指定名称时,为personId
        * required = false表示参数可不传
        * defaultValue参数为空时默认赋值
        */
        @RequestMapping(value = "/id")  
        String getIdByValue(@RequestParam(value="id",required=false,defaultValue="1001") String personId) {  
            System.out.println("ID is " + personId);  
            return "Get ID from query string of URL with value element";  
        } 
        
        //动态的URL
        @RequestMapping(value = "/fetch/{id}", method = RequestMethod.GET)  
        String getDynamicUriValue(@PathVariable String id) {  
            System.out.println("ID is " + id);  
            return "Dynamic URI parameter fetched";  
        }  
    

    二、Service

    @Service("userService")
    告诉Spring,当Spring要创建UserServiceImpl的的实例时,bean的名字必须叫做"userService"

    三、Mapper

    @component
    把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>
    例如:解决ServiceImpl声明Mapper时报错

    四、mybatis的转义字符

    &lt; < 小于
    &gt; > 大于
    &amp; & 与
    &apos; ' 单引号
    &quot; " 双引号

    <![CDATA[ ]]>符号

    <![CDATA[ when min(starttime)<='12:00' and max(endtime)<='12:00' ]]> 
    

    五、mybatis的xml标签

    参考文章https://blog.csdn.net/weixin_40950778/article/details/78655288

    mybatis标签

    if 标签的使用

        SELECT * from STUDENT ST
        <if test="studentName != null and studentName != '' ">     
            WHERE ST.STUDENT_NAME LIKE CONCAT(CONCAT('%', #{studentName}),'%')      
        </if>   
    

    foreach 标签的使用

      delete from user where id in
      <foreach collection="array" item="id" index="index" open="(" close=")" separator=",">
         #{id}
      </foreach>
    

    choose 标签的使用

        SELECT * from STUDENT ST
        <choose>
          <when test="studentName != null and studentName != '' ">     
            WHERE ST.STUDENT_NAME LIKE CONCAT(CONCAT('%', #{studentName}),'%') 
          </when>     
          <otherwise>
    
          </otherwise> 
        </choose>
    

    where 标签使用

    <select id="getStudentListWhere" parameterType="StudentEntity" resultMap="studentResultMap">     
        SELECT * from STUDENT ST      
        <where>     
            <if test="studentName!=null and studentName!='' ">     
                ST.STUDENT_NAME LIKE CONCAT(CONCAT('%', #{studentName}),'%')      
            </if>     
            <if test="studentSex!= null and studentSex!= '' ">     
                AND ST.STUDENT_SEX = #{studentSex}      
            </if>     
        </where>     
    </select> 
    

    set 标签使用

    <update id="updateStudent" parameterType="StudentEntity">     
        UPDATE STUDENT_TBL      
        <set>     
            <if test="studentName!=null and studentName!='' ">     
                STUDENT_TBL.STUDENT_NAME = #{studentName},      
            </if>     
            <if test="studentSex!=null and studentSex!='' ">     
                STUDENT_TBL.STUDENT_SEX = #{studentSex},      
            </if>
        </set>    
        WHERE STUDENT_TBL.STUDENT_ID = #{studentID};      
    </update> 
    

    相关文章

      网友评论

          本文标题:Controller、Service注解,以及Mybatis的x

          本文链接:https://www.haomeiwen.com/subject/jfjsyqtx.html