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>
分享到:
相关推荐
首先,映射XML文件的根元素是`<mapper>`,它包含了一个`namespace`属性,该属性的值通常与对应的Java接口全限定名一致,用于关联Mapper接口与XML配置文件,如示例中的`com.cnx.wxcar.mapper.CustomerMapper`...
### MyBatis通用Mapper知识点详解 #### 一、MyBatis通用Mapper简介 MyBatis通用Mapper是一种基于MyBatis框架的扩展插件,它能够为开发者提供一系列方便的CRUD(创建、读取、更新、删除)操作方法,极大地简化了...
这篇文章将详细讲解如何在MyBatis的Mapper配置文件中实现批量插入。 首先,批量插入的数据通常来源于一个集合,如List对象,因此在Mapper接口中,我们需要定义一个方法接收这样的参数。例如,我们可以创建一个`...
Mybatis中Mapper映射文件使用详解 Mapper映射文件是Mybatis框架中一个非常重要的组件,它是Mybatis的核心组件之一。Mapper映射文件是一个xml格式文件,必须遵循相应的dtd文件规范,如ibatis-3-mapper.dtd。Mapper...
首先,当我们使用`SqlSession.getMapper()`方法来获取一个Mapper接口的实例时,例如`BookMapper bookMapper = SqlSession().getMapper(BookMapper.class)`,MyBatis是如何找到对应的mapper.xml文件并绑定接口方法的...
mybatis-MyBatis-Plugin 是一个专为 MyBatis 设计的 Eclipse 插件,它可以提供对 MyBatis 的 mapper.xml 文件中的自动补全和提示功能。该插件能够识别 mapper.xml 文件中的 class 类型以及其他元素,并提供相应的...
《MyBatis源码详解学习》是一份专为对MyBatis源码感兴趣的开发者准备的资料,它旨在帮助读者深入理解这个流行持久层框架的工作原理。MyBatis作为一个轻量级的ORM(对象关系映射)框架,因其简单易用、高度可定制化的...
总结来说,SpringMVC+Mybatis+Web的配置涉及多个层次的文件,包括SpringMVC的`spring-mvc.xml`、Mybatis的`mybatis-config.xml`和`mybatis-spring.xml`、Web应用的`web.xml`以及Spring的全局配置`applicationContext...
10. **实战应用**:通过提供的demo,你可以了解如何创建MyBatis项目,如何编写Mapper接口和XML文件,如何配置数据源,以及如何在实际项目中应用MyBatis。 以上知识点的详细讲解,结合压缩包中的学习笔记和示例代码...
### MyBatis 通用Mapper详解 #### 一、概述 MyBatis通用Mapper是一个基于MyBatis框架的扩展工具,它极大地简化了针对单一表的操作,使得开发人员无需编写繁琐的XML映射文件和接口定义就能实现数据层的增删改查等...
MyBatis Generator是一个代码生成器,它可以基于数据库的表结构来自动生成MyBatis的POJO类、Mapper接口、XML映射文件等。程序员只需要提供数据库的连接信息和表结构,MyBatis Generator就可以根据这些信息生成对应的...
以下是对 MyBatis 增删改查 (CRUD) 的 Mapper 文件写法的详解: 1. 插入(Insert) 插入操作在 Mapper 文件中通常以 `<insert>` 标签表示。`namespace` 属性应设置为需要实现接口的全类名,`id` 属性对应于接口中的...
在使用Mybatis-Plus时,有时我们可能会遇到mapper.xml文件未被正确读取的问题,这通常是由于配置不正确导致的。本文将详细讲解mybatis-plus的mapper.xml路径配置的常见问题,并提供解决策略。 首先,我们需要理解...
【MyBatis 主配置文件详解】 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。与传统的 JDBC 相比,MyBatis 简化了手动设置参数和获取结果集的过程,通过 XML 或注解进行映射,将接口和 ...
### MyBatis与MyBatis Plus的比较详解 #### 一、前言 在现代软件开发中,尤其是基于Java的企业级应用开发中,选择合适的持久层框架至关重要。本文旨在深入探讨MyBatis与MyBatis Plus这两种流行持久层框架之间的...
在您提供的压缩包中,可能包含了一个示例项目,它展示了如何配置 Mybatis,如何编写 Mapper 接口和 XML 文件,以及如何执行 SQL 查询。这个例子可以帮助您更好地理解 Mybatis 的实际应用。通过学习和实践这个例子,...
如果你不会配置mybatis中的相关xml配置,就进来看看,手把手教学,可以从零开始
- **namespace属性**:XML文件的`<mapper>`标签需设置`namespace`属性,值为对应的Mapper接口全限定名,使得MyBatis能正确匹配接口和XML文件。 - **resultMap**:用于结果映射,定义字段与Java对象属性的对应关系...
MyBatis 代码生成器,也称为 MyBatis Generator (MBG),是一个强大的工具,能够自动生成 MyBatis 框架所需的 JavaBean、Mapper 接口、Mapper XML 文件以及 Example 对象,大大减少了手动编写这些重复代码的工作量。...
2. **配置文件(generatorConfig.xml)详解** generatorConfig.xml 是Mybatis Generator的核心配置文件,它包含了数据库连接信息、目标生成目录、生成的类和文件的命名规则等关键参数。例如: - `<jdbcConnection>...