详解Mybatis(五)Mapper接口

 更新时间:2019年04月09日 11:55:06   作者:bettermanZYQ  
这篇文章主要介绍了Mybatis Mapper接口,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

(1)Mapper接口和原理

Mapper组建

  1. 1、Mapper文件和Mapper接口应该放在同一个接口中
  2. 2、Mapper文件中的namespace应该设置为Mapper接口的全限定名称
  3. 3、Mapper文件中的操作元素ID对应Mapper接口的方法名称

Mapper原理:
动态代理

(2)配置文件

userMapper.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,namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的
例如namespace="me.gacl.mapping.userMapper"就是me.gacl.mapping(包名)+userMapper(userMapper.xml文件去除后缀)
 -->
<mapper namespace="Mybatis.domain.Mapper.UserMapper">

  <resultMap type="User" id="BaseResultMap">
  	<result column="t_id" property="id"/>
  	<result column="t_name" property="name"/>
  	<result column="t_salary" property="salary"/>
  </resultMap>
  
  <!-- 保存操作 -->
  <insert id="save" useGeneratedKeys="true" keyProperty="id">
	  INSERT INTO t_user (name , salary) 	VALUES (#{name},#{salary}) 	
  </insert>
  
  <!-- 更改操作 -->
  <update id="update">
  	update t_user where name=#{name},salary=#{salary} where id=#{id}
  </update>
  
  <!-- 删除操作 -->
  <delete id="delete" >
  	delete from t_user where id=#{id}
  </delete>
  
  <!-- 查询单个操作 --> 
  <select id="select" parameterMap="java.lang.Long" resultType="Mybatis.domain.User">
    select * from t_user where id = #{id}
  </select>

	<!-- 查询多个操作 -->
	<select id="selectAll" resultType="User">
		select id,name,salary from t_user
	</select>  
</mapper>

UserMapper.java

import java.util.List;

import Mybatis.domain.User;

public interface UserMapper {
	void save(User u);
	
	void update(User u);
	
	void delete(Long id);
	
	User select(User u);
	
	List<User> selectAll();
}

以上所述是小编给大家介绍的Mybatis Mapper接口详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • SpringBoot发送邮箱验证码功能

    SpringBoot发送邮箱验证码功能

    这篇文章主要介绍了SpringBoot发送邮箱验证码功能,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • SpringBoot动态定时任务、动态Bean、动态路由详解

    SpringBoot动态定时任务、动态Bean、动态路由详解

    这篇文章主要介绍了SpringBoot动态定时任务、动态Bean、动态路由详解,之前用过Spring中的定时任务,通过@Scheduled注解就能快速的注册一个定时任务,但有的时候,我们业务上需要动态创建,或者根据配置文件、数据库里的配置去创建定时任务,需要的朋友可以参考下
    2023-10-10
  • Java之单例设计模式示例详解

    Java之单例设计模式示例详解

    这篇文章主要介绍了Java之单例设计模式示例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Spring Boot + thymeleaf 实现文件上传下载功能

    Spring Boot + thymeleaf 实现文件上传下载功能

    最近同事问我有没有有关于技术的电子书,我打开电脑上的小书库,但是邮件发给他太大了,公司又禁止用文件夹共享,于是花半天时间写了个小的文件上传程序,部署在自己的Linux机器上,需要的朋友可以参考下
    2018-01-01
  • JAVA基本概念详解

    JAVA基本概念详解

    本文主要介绍了Java的基本概念。具有很好的参考价值,下面跟着小编一起来看下吧,希望能够给你带来帮助
    2021-11-11
  • 解决SpringMVC接收不到ajaxPOST参数的问题

    解决SpringMVC接收不到ajaxPOST参数的问题

    今天小编就为大家分享一篇解决SpringMVC接收不到ajaxPOST参数的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • Mybatis常用注解中的SQL注入实例详解

    Mybatis常用注解中的SQL注入实例详解

    MyBatis是一款优秀的持久层框架,它支持定制化 SQL(灵活)、存储过程(PLSQL模块化的组件,数据库的一部分)以及高级映射(表映射为Bean也可以将Bean映射为表),下面这篇文章主要给大家介绍了关于Mybatis常用注解中的SQL注入的相关资料,需要的朋友可以参考下
    2022-02-02
  • JDK自带的序列化方式优缺点及实现原理面试精讲

    JDK自带的序列化方式优缺点及实现原理面试精讲

    这篇文章主要为大家介绍了JDK自带的序列化方式优缺点及实现原理面试精讲,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • jetbrain fleet对标vscode实际操作

    jetbrain fleet对标vscode实际操作

    Gradle是一个基于Apache Ant和Apache Maven概念项目自动化构建开源工具,jetbrain家的fleet(已获得预览权限)直接对标vscode , fleet有望超过vscode吗?今天我们实际操作下
    2021-12-12
  • springboot 使用Spring Boot Actuator监控应用小结

    springboot 使用Spring Boot Actuator监控应用小结

    本篇文章主要介绍了springboot 使用Spring Boot Actuator监控应用小结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02

最新评论