`
pbd
  • 浏览: 8029 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

MyBatis Mapper XML 文件 的学习详解

 
阅读更多
Mapper.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="com.dao.UsersDao">
<!--通过<resultMap>映射实体类属性名和表的字段名一一对应关系-->
<resultMap id="Users" type="com.model.Users" >
     <!-- 用id属性来映射主键字段 -->
    <id column="user_id" property="userId" jdbcType="INTEGER" />
    <!-- 用result属性来映射非主键字段 -->
    <result column="username" property="username" jdbcType="CHAR" />
    <result column="email" property="email" jdbcType="CHAR" />
    <result column="password" property="password" jdbcType="CHAR" />
  </resultMap>
<sql id="BaseList" >
    user_id, username, email, password, tuijian_userid, paypassword, logintime
  </sql>
   <!--userLogin -->
   <select id="userLogin" resultType="DataRow"  parameterType="java.util.Map">
        <![CDATA[
  	select 
        <include refid="BaseList"/>
     from s60.t6010 where (F02=#{username} or F04=#{username})and F03=#{password} 
         ]]>
  </select>
</mapper>


#mapper.xml的namespace就是指向所对应的mapper 接口;
#<![CDATA[ sql ]]>  CDATA内部的内容都会被解析器忽略防止解析错误;
#<include refid="BaseList"/> 引用id为BaseList的内容;
#<resultMap></resultMap> 定义数据库跟model对象中的实体;id唯一标识;type对应model中的实体;column字段property;属性.
<id/>用于配置映射主键字段
#select语句userLogin对应mapper接口中的方法的名字;
#parameterType是输入参数类型;
#resultType,resultMap是结果映射类型;
# #{parameter}是占位符,相当于JDBC中采用PreparedStatement时sql语句中的问号,表示参数名为parameter的参数值会替换这个位置;


resultType,resultMap的区别
MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap。
常用返回基本数据类型:java.lang.Integer,java.lang.String,java.util.Map

resultType是直接表示返回类型的(对应model对象中的实体或基本数据类型).
resultMap则是对外部ResultMap的引用(提前定义了db和model之间的隐射key-->value关系).
注意的是resultType跟resultMap不能同时存在。


parameterType 传入参数(基本数据类型复杂数据类型实体对象)

	<!--resultType 返回结果对应model对象中的实体或基本数据类型 -->
  	<select id="selectUserById" resultType="entity/基本数据类型">
		<![CDATA[
			select user_id as userId,username as userName,phone,pwd,repwd,email,regtime,user_des as userDes 
			from user_info where user_id=#{userId};		
		]]>
	</select>
	<!--parameterType指定传入参数(entity/基本(复杂)数据类型)-->
	 <insert id="savelog" parameterType="entity/基本(复杂)数据类型">
 	<![CDATA[
		insert into tuanshang_users_log(user_id,code,type,operating,article_id,result,content,addtime,addip) 
		values(#{userid},#{code},#{type},#{operating},#{articleid},#{result},#{content},#{addtime},#{addip})
	  ]]>	
	</insert>


配置加载*Mapper.xml文件
<!-- 配置SessionFactory -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="mapperLocations" value="classpath:com/mapper/**/*Mapper.xml" />
		<property name="typeAliasesPackage" value="com.model" />
	</bean>
	<!-- 扫描mapper.java -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="com.dao" />
		<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
	</bean>
分享到:
评论

相关推荐

    mybatis映射XML文件详解及实例

    首先,映射XML文件的根元素是`&lt;mapper&gt;`,它包含了一个`namespace`属性,该属性的值通常与对应的Java接口全限定名一致,用于关联Mapper接口与XML配置文件,如示例中的`com.cnx.wxcar.mapper.CustomerMapper`...

    mybatis通用mapper笔记

    ### MyBatis通用Mapper知识点详解 #### 一、MyBatis通用Mapper简介 MyBatis通用Mapper是一种基于MyBatis框架的扩展插件,它能够为开发者提供一系列方便的CRUD(创建、读取、更新、删除)操作方法,极大地简化了...

    详解MyBatis批量插入数据Mapper配置文件的写法

    这篇文章将详细讲解如何在MyBatis的Mapper配置文件中实现批量插入。 首先,批量插入的数据通常来源于一个集合,如List对象,因此在Mapper接口中,我们需要定义一个方法接收这样的参数。例如,我们可以创建一个`...

    Mybatis中Mapper映射文件使用详解

    Mybatis中Mapper映射文件使用详解 Mapper映射文件是Mybatis框架中一个非常重要的组件,它是Mybatis的核心组件之一。Mapper映射文件是一个xml格式文件,必须遵循相应的dtd文件规范,如ibatis-3-mapper.dtd。Mapper...

    mybatis如何通过接口查找对应的mapper.xml及方法执行详解

    首先,当我们使用`SqlSession.getMapper()`方法来获取一个Mapper接口的实例时,例如`BookMapper bookMapper = SqlSession().getMapper(BookMapper.class)`,MyBatis是如何找到对应的mapper.xml文件并绑定接口方法的...

    mybatis【mapper.xml类提示eclipse插件】【正式版下载】

    mybatis-MyBatis-Plugin 是一个专为 MyBatis 设计的 Eclipse 插件,它可以提供对 MyBatis 的 mapper.xml 文件中的自动补全和提示功能。该插件能够识别 mapper.xml 文件中的 class 类型以及其他元素,并提供相应的...

    MyBatis源码详解学习.zip

    《MyBatis源码详解学习》是一份专为对MyBatis源码感兴趣的开发者准备的资料,它旨在帮助读者深入理解这个流行持久层框架的工作原理。MyBatis作为一个轻量级的ORM(对象关系映射)框架,因其简单易用、高度可定制化的...

    SpringMVC+Mybatis+Web配置文件详解

    总结来说,SpringMVC+Mybatis+Web的配置涉及多个层次的文件,包括SpringMVC的`spring-mvc.xml`、Mybatis的`mybatis-config.xml`和`mybatis-spring.xml`、Web应用的`web.xml`以及Spring的全局配置`applicationContext...

    MYBATIS学习资料文件

    10. **实战应用**:通过提供的demo,你可以了解如何创建MyBatis项目,如何编写Mapper接口和XML文件,如何配置数据源,以及如何在实际项目中应用MyBatis。 以上知识点的详细讲解,结合压缩包中的学习笔记和示例代码...

    mybatis 通用mapper

    ### MyBatis 通用Mapper详解 #### 一、概述 MyBatis通用Mapper是一个基于MyBatis框架的扩展工具,它极大地简化了针对单一表的操作,使得开发人员无需编写繁琐的XML映射文件和接口定义就能实现数据层的增删改查等...

    如何自动生成Mybatis的Mapper文件详解

    MyBatis Generator是一个代码生成器,它可以基于数据库的表结构来自动生成MyBatis的POJO类、Mapper接口、XML映射文件等。程序员只需要提供数据库的连接信息和表结构,MyBatis Generator就可以根据这些信息生成对应的...

    Mybatis增删改查mapper文件写法详解

    以下是对 MyBatis 增删改查 (CRUD) 的 Mapper 文件写法的详解: 1. 插入(Insert) 插入操作在 Mapper 文件中通常以 `&lt;insert&gt;` 标签表示。`namespace` 属性应设置为需要实现接口的全类名,`id` 属性对应于接口中的...

    详解mybatis-plus的 mapper.xml 路径配置的坑

    在使用Mybatis-Plus时,有时我们可能会遇到mapper.xml文件未被正确读取的问题,这通常是由于配置不正确导致的。本文将详细讲解mybatis-plus的mapper.xml路径配置的常见问题,并提供解决策略。 首先,我们需要理解...

    MyBatis主配置文件

    【MyBatis 主配置文件详解】 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。与传统的 JDBC 相比,MyBatis 简化了手动设置参数和获取结果集的过程,通过 XML 或注解进行映射,将接口和 ...

    mybatis和mybatis plus比较详解

    ### MyBatis与MyBatis Plus的比较详解 #### 一、前言 在现代软件开发中,尤其是基于Java的企业级应用开发中,选择合适的持久层框架至关重要。本文旨在深入探讨MyBatis与MyBatis Plus这两种流行持久层框架之间的...

    Mybatis的详解以及使用

    在您提供的压缩包中,可能包含了一个示例项目,它展示了如何配置 Mybatis,如何编写 Mapper 接口和 XML 文件,以及如何执行 SQL 查询。这个例子可以帮助您更好地理解 Mybatis 的实际应用。通过学习和实践这个例子,...

    mybatis相关配置详解

    如果你不会配置mybatis中的相关xml配置,就进来看看,手把手教学,可以从零开始

    springboot整合mybatis案例(xml方式)

    - **namespace属性**:XML文件的`&lt;mapper&gt;`标签需设置`namespace`属性,值为对应的Mapper接口全限定名,使得MyBatis能正确匹配接口和XML文件。 - **resultMap**:用于结果映射,定义字段与Java对象属性的对应关系...

    MyBatis 代码生成器配置详解(IDEA).docx

    MyBatis 代码生成器,也称为 MyBatis Generator (MBG),是一个强大的工具,能够自动生成 MyBatis 框架所需的 JavaBean、Mapper 接口、Mapper XML 文件以及 Example 对象,大大减少了手动编写这些重复代码的工作量。...

    Mybatis-generator 生成Mybatis配置文件

    2. **配置文件(generatorConfig.xml)详解** generatorConfig.xml 是Mybatis Generator的核心配置文件,它包含了数据库连接信息、目标生成目录、生成的类和文件的命名规则等关键参数。例如: - `&lt;jdbcConnection&gt;...

Global site tag (gtag.js) - Google Analytics