`

mybatis-1

 
阅读更多

mybatis 支持注解支持sql.方便与spring集成。

1 映射

1.1文件的映射

   注意xml文件一定要规范,xml文件如果在最前面的<?xml 加个空格,就是报错,这种错误极其难找,所以碰到这种操蛋问题可费神,规范极其重要

 

<mapper resource="com/xx/xxx/xxx/XXXMapper.xml"/>
1.2表,字段的映射

 

 

	<resultMap type="com.xxx.xxx.mapper.MyEntity" id="MyEntityResult"> 
		<id 	property="id" column="me_id" javaType="java.lang.Integer"/>
		<result property="title" column="me_title" javaType="java.lang.String"/>
	</resultMap>
   property 对应对象的属性名,column为列名或者列的别名,javaType或者jdbcType都可以对应,对于基本数据类型,比如MyEntity的Integer id是主键,要用id标签,jdbcType是java.sql.jdbcType下的类型,都是大写的,javaType下如果是基本的数据类型可以直接写java.lang.Integer或者Integer都可以,这里的例子是javaType,项目中用的最多的是jdbcType。type是要写类的全名,id是标示,id标示可以提供给其他用,比如select标签,select语句查询的内容映射的是resultMap的type对应的类属性
1.3 resultMap和resultType映射
resultMap映射到resultMap的唯一标示id,间接的映射到entity对象,比如select里面的resultMap属性,在resultMap标签里面是可以做类型转换的,typeHander=
resultType 映射到一个全定名的java类,可以是一个Map,可能是entity,如果是Map,mybatis会把查询的结果集放到Map集合中,resultType必须保证java属性和查询结果的一致性,而且利用resultType没法利用类型转换

2 传参

mybatis都给提供了参数 

<E> List<E> selectList(String statement, Object parameter);

 那么xml配置可以通过 #{xxxx} 传递参数,如果是一个entity,xxxx就代表他的属性名

 mybatis采用了预编译方法,#{}会被解析成? ${}会被解析成= ,所以对字段排序的时候${}可以用上场

 

3 ONGL

  ONGL 在struts2也有,mybatis也有,mybatis的ONGL 是可以直接用entity属性名的,而且还可以调用java的方法,常见的有

if判断

对于entity if标签可以直接用entity的属性

循环:

  	<delete id="deleteBatch" parameterType="java.util.List">
  		delete from MyEntity where id in(
  			<foreach collection="list" item = "item" separator=",">
  				#{item}
  			</foreach>
  		)
  	</delete>

 

 

<where> 

    	<where>
    		<if test="title!=null and ! &quot; &quot;.equals(title.trim())"></if>
    	</where>

 

<set> 只用于update语句中

  		<set>
  			<if test="title!=null and ! &quot; &quot;.equals(title.trim())">title=${title},</if>
  		</set>

 ongl的引用

 

<trim> 可以替代where或者set

  		<trim prefix="where" prefixOverrides="and/or">
  			<!-- ...........与where效果一样 截取前缀的and或者or -->
  		</trim>
  		<trim prefix="set" suffixOverrides=",">
  			<!-- ...........与set效果一样 截取前缀的逗号 -->
  		</trim>

 

<choose>  当if判断极其复杂的时候 代替if else if语句

 <sql>

<include>

 

4 多对一,一对多

 

更多mybatis请前往  

0
1
分享到:
评论

相关推荐

    MyBatis-Plus 的官方示例(mybatis-plus-samples-master.zip)

    本工程为 MyBatis-Plus 的官方示例,项目结构如下: mybatis-plus-sample-quickstart: 快速开始示例 mybatis-plus-sample-quickstart-springmvc: 快速开始示例(Spring MVC版本) mybatis-plus-sample-reduce-...

    mybatis-plus最新代码生成器项目源码 :mybatis-plus-generator.zip

    mybatis-plus最新代码生成器项目源码 :mybatis-plus-generator.zip mybatis-plus最新代码生成器项目源码 :mybatis-plus-generator.zip mybatis-plus最新代码生成器项目源码 :mybatis-plus-generator.zip ...

    MyBatis-Plus入门+MyBatis-Plus文档手册 中文pdf高清版.rar

    mybatis在持久层框架中还是比较火的,一般项目都是基于ssm。虽然mybatis可以直接在xml中...《MyBatis-Plus入门文档》主要介绍了MyBatis-Plus入门使用,以及关于mybatis-plus的更多介绍及特性,感兴趣的可以下载学习一下

    mybatis-3-config.dtd mybatis-3-mapper.dtd

    在MyBatis的配置和映射文件中,`mybatis-3-config.dtd` 和 `mybatis-3-mapper.dtd` 是两个至关重要的DTD(Document Type Definition)文件,它们定义了MyBatis配置文件和映射文件的结构和规则。 首先,我们来看`...

    mybatis-plus源码(mybatis-plus-3.5.1.zip)

    1. **CRUD操作**:MyBatis-Plus提供了简化版的CRUD操作,通过继承BaseMapper接口,无需编写任何SQL语句,即可完成基本的数据增删改查操作。 2. **条件构造器**:它的QueryWrapper和UpdateWrapper类允许开发者通过...

    mybatis-plug.jar和 mybatis-plug的安装说明

    1. **简化SQL编写**:MyBatis-Plus提供了CRUD操作的便捷方法,无需手动编写复杂的SQL语句。 2. **自动化事务管理**:它能自动处理事务提交和回滚,减轻了开发者对事务管理的负担。 3. **内置高性能分页插件**:支持...

    mybatis-spring-1.3.1.jar下载

    1. **自动扫描与配置**:MyBatis-Spring能够自动扫描项目中的Mapper接口,并根据这些接口创建对应的SqlSessionTemplate或SqlSessionFactoryBean,无需手动配置。 2. **事务管理**:通过集成Spring的事务管理器,...

    mybatis-plus-boot-starter-3.5.1-API文档-中文版.zip

    赠送jar包:mybatis-plus-boot-starter-3.5.1.jar; 赠送原API文档:mybatis-plus-boot-starter-3.5.1-javadoc.jar; 赠送源代码:mybatis-plus-boot-starter-3.5.1-sources.jar; 赠送Maven依赖信息文件:mybatis-...

    mybatis-spring-2.0.0-API文档-中文版.zip

    赠送jar包:mybatis-spring-2.0.0.jar; 赠送原API文档:mybatis-spring-2.0.0-javadoc.jar; 赠送源代码:mybatis-spring-2.0.0-sources.jar; 赠送Maven依赖信息文件:mybatis-spring-2.0.0.pom; 包含翻译后的API...

    mybatis-flex-1.6.2.zip

    mybatis-flex-1.6.2.zip源码: 更轻量 MyBatis-Flex 除了 MyBatis 本身,再无任何第三方依赖,因此会带来更高的自主性、把控性和稳定性。在任何一个系统中,依赖越多,稳定性越差。 更灵活 MyBatis-Flex 提供了...

    mybatis-spring-2.0.6-API文档-中文版.zip

    赠送jar包:mybatis-spring-2.0.6.jar; 赠送原API文档:mybatis-spring-2.0.6-javadoc.jar; 赠送源代码:mybatis-spring-2.0.6-sources.jar; 赠送Maven依赖信息文件:mybatis-spring-2.0.6.pom; 包含翻译后的API...

    mybatis-plus-extension-3.5.1-API文档-中英对照版.zip

    赠送jar包:mybatis-plus-extension-3.5.1.jar; 赠送原API文档:mybatis-plus-extension-3.5.1-javadoc.jar; 赠送源代码:mybatis-plus-extension-3.5.1-sources.jar; 赠送Maven依赖信息文件:mybatis-plus-...

    mybatis-plus-annotation-3.5.1-API文档-中文版.zip

    赠送jar包:mybatis-plus-annotation-3.5.1.jar; 赠送原API文档:mybatis-plus-annotation-3.5.1-javadoc.jar; 赠送源代码:mybatis-plus-annotation-3.5.1-sources.jar; 赠送Maven依赖信息文件:mybatis-plus-...

    mybatis-spring-boot-autoconfigure-1.3.2-API文档-中英对照版.zip

    赠送jar包:mybatis-spring-boot-autoconfigure-1.3.2.jar; 赠送原API文档:mybatis-spring-boot-autoconfigure-1.3.2-javadoc.jar; 赠送源代码:mybatis-spring-boot-autoconfigure-1.3.2-sources.jar; 赠送...

    mybatis-plus-boot-starter-3.1.0-API文档-中文版.zip

    赠送jar包:mybatis-plus-boot-starter-3.1.0.jar; 赠送原API文档:mybatis-plus-boot-starter-3.1.0-javadoc.jar; 赠送源代码:mybatis-plus-boot-starter-3.1.0-sources.jar; 赠送Maven依赖信息文件:mybatis-...

    mybatis-generator-core-1.3.7-API文档-中文版.zip

    赠送jar包:mybatis-generator-core-1.3.7.jar; 赠送原API文档:mybatis-generator-core-1.3.7-javadoc.jar; 赠送源代码:mybatis-generator-core-1.3.7-sources.jar; 赠送Maven依赖信息文件:mybatis-generator-...

Global site tag (gtag.js) - Google Analytics