title: Mybatis学习04

date: 2020-01-20 21:48:00

tags:


这次的笔记主要是mybatis中的注解

1、实体类的注解

  • 实体类的注解在mybati的XML文件中配置。

  • 注解的位置应该在setting之后,typeHandlers之前。

  • XML文件中各个配置顺序为:properties,settings,typeAliases,typeHandlers,objectFactory,objectWrapperFactory,reflectorFactory,plugins,environments,databaseIdProvider,mappers

  • 实体类的注解有两种方式

    • 将具体的实体类起一个可以自定义的别名,如:

      <typeAliases>
      <typeAlias type="com.neversettle.domain.User" alias="User"/>
      </typeAliases>
    • 将同一包下的所有实体类注解为其名称,如User注解为User及user,官方推荐使用user,实际中User和user都可以,注解方式为:

      <typeAliases>
      <package name="com.neversettle.domain"/>
      </typeAliases>

2、SQL的注解

  • 使用SQL注解需要在mybatis核心文件中注册,将之前的 *Mapper.xml 注册换位类的注册即可,具体如下:

    <mappers>
    <!-- 使用XML来实现接口-->
    <!-- <mapper resource="com/neversettle/dao/UserMapper.xml"/>-->
    <!-- 使用注解来实现接口-->
    <mapper class="com.neversettle.dao.UserMapper"/>
    </mappers>
  • 注解在接口中使用,如下:

    package com.neversettle.dao;
    
    import com.neversettle.domain.User;
    import org.apache.ibatis.annotations.Delete;
    import org.apache.ibatis.annotations.Param;
    import org.apache.ibatis.annotations.Select; import java.util.List; public interface UserMapper { //获取用户列表
    @Select("select * from user")
    List<User> getUserList(); //删除一个用户
    @Delete("delete from user where id = #{id}")
    void deleteUserById(@Param("id")int id);
    }
    • 增删改查都对应着一个注解的标签,进行相关的操作都需要使用相应的标签。
    • @Param() 是参数的注解,使用在参数的前方,推荐每个参数都是用注解。

3、结果集映射

  • 如果实体类中的字段和数据库中的字段名称不一样,则可以使用结果集映射。

  • 结果集映射写在每个接口相应的实现XML中(如UserMapper.xml)

  • 如果只有个别字段不同,则可以只为个别字段映射(相当于注解)

  • 使用方法:

    <resultMap id="Student" type="com.neversettle.domain.Student">
    <result property="passowrd" column="pwd"/>
    </resultMap>
    • id为映射的名称,是在SQL语句的返回值类型中所写的名称
    • type为实体类
    • result中的property是实体类中的字段名
    • result中的column是数据库中要映射的字段名

Mybatis04的更多相关文章

  1. mybatis-04【小结】

    mybatis-04[小结] 1.Mybatis 中 # 和 $ 的区别?#相当于对数据 加上 双引号,$相当于直接显示数据1)#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号. 如:o ...

  2. Mybatis-04 日志、分页

    Mybatis-04 日志.分页 日志 1.日志工厂 如果数据库操作出现异常,就需要打印日志来排错. 日志工厂会把日志工作委托实现: SLF4J Apache Commons Logging Log4 ...

  3. mybatis04 根据用户名称模糊查询用户信息

    根据用户名称模糊查询用户信息可能返回多条记录. 1.1.1User.xml 编码 如果用%进行模糊查询,#{}表示一个占位符会被翻译为一个?号(SELECT * FROM USER WHERE id= ...

  4. [JAVA教程] 2016年最新spring4框架搭建视频教程 【尚学堂】

    Spring4框架 主讲:邹波 类型:SSH 适合对象:学习完javase.数据库技术.jdbc者 Spring4.0作为一个广泛使用的开源框架,它由Rod Johnson创建.它是为了解决企业应用开 ...

  5. springmvc的文件上传和JWT图形验证码

    相关pom依赖 <dependency> <groupId>commons-fileupload</groupId> <artifactId>commo ...

  6. 404boom 博客闪现【不断的优化更新中。。。】

    404boom 博客闪现[不断的优化更新中...] 停止本篇博文EQ继续优化,所有博文将会在标签[cnblogs_v2 ]中重新整理,待完成统一放上链接 一:Java SE相关1.Java的概述2.J ...

  7. mybatis自学历程(一)

    第一个mybatis程序 IDE:myeclipse2017 jar包:mybatis3.5.2,mybatis依赖包,mysql8.0.17驱动包 注:mybatis包和所需的依赖包,可到http: ...

  8. Mybatis与Spring整合(CURD)

    项目采用Maven构建,用Junit进行测试,数据库是Mysql,连接池是c3p0,未测试缓存部分 1.Maven的“pom.xml”文件 <project xmlns="http:/ ...

  9. Mybatis高级:Mybatis注解开发单表操作,Mybatis注解开发多表操作,构建sql语句,综合案例学生管理系统使用接口注解方式优化

    知识点梳理 课堂讲义 一.Mybatis注解开发单表操作 *** 1.1 MyBatis的常用注解 之前我们在Mapper映射文件中编写的sql语句已经各种配置,其实是比较麻烦的 而这几年来注解开发越 ...

随机推荐

  1. Docker学习—Machine

    前言 前面<Docker学习-Compose>文中介绍了Compose的使用方式:接下来继续了解docker三剑客之一的 Machine: 一.Docker Machine简介 1.什么是 ...

  2. 索引--mysql 数据库Load data大量数据时性能因素之一

    发现load data infile 插入数据时越来越慢,后来发现是因为创建表时有创建索引的动作. 把索引创建删除掉之后,导入很迅速,导入后再创建索引,效率果有提高.

  3. MyBatis动态Sql之if标签的注意事项

    if标签的test属性必填,该属性值是一个符合OGNL要求的判断表达式,一般只用true或false作为结果. 判断条件property != null 或 property == null,适用于任 ...

  4. 92. Reverse Linked List II 翻转链表II

    Reverse a linked list from position m to n. Do it in one-pass. Note: 1 ≤ m ≤ n ≤ length of list. Exa ...

  5. 使用@Validated校验数据(除数据库做辅助)

    一.controller层 /** * 使用@Validated来进行校验 * @author HuangJingNa * @date 2019年12月23日 下午6:02:20 * * @param ...

  6. React native路由跳转navigate、push、replace的区别

    由于没有系统的去学习RN,对路由跳转了解不多,只是跟着项目在做,抽点时间简单学习一下RN路由跳转方法区别,总结如下: 如上图,外部是一个栈容器,此时A页面在最底部,navigate到B页面,为什么此时 ...

  7. java开发两年,连Spring中bean的装配都不知道?你怎么涨薪啊

    Spring 1.1.1.1 创建一个bean package com.zt.spring; public class MyBean { private String userName; privat ...

  8. PowerPoint无法正常加载MathType的解决方法

    MathType是一款十分便捷的数学公式编辑器,可以和很多办公软件和网站兼容使用,我们日常用的比较多的也就是Office和WPS,更具体的说是Word\Excel\PPT等等一系列办公常用软件. 不过 ...

  9. 关于Jersey框架下的Aop日志 和Spring 框架下的Aop日志

    摘要 最近新接手的项目经常要查问题,但是,前面一拨人,日志打的非常乱,好多就根本没有打日志,所以弄一个AOP统一打印一下 请求数据和响应数据 框架 spring+springmvc+jersey 正文 ...

  10. 生成微博授权url接口

    1.创建apps/oauth模块进行oauth认证 '''2.1 在apps文件夹下新建应用: oauth''' cd syl/apps python ../manage.py startapp oa ...