内容简介:fastmybatis 1.0.11 发布,此次更新内容有: 增强Mapper.xml,不同Mapper文件可指定同一个namespace,最终会合并 doc 优化属性拷贝 本次更新重点是Mapper.xml增强,多文件可指定同一个namespace。 在以往的开发过...
fastmybatis 1.0.11 发布,此次更新内容有:
增强Mapper.xml,不同Mapper文件可指定同一个namespace,最终会合并 doc
优化属性拷贝
本次更新重点是Mapper.xml增强,多文件可指定同一个namespace。
在以往的开发过程中,一个Mapper对应一个xml文件(namespace)。如果多人同时在一个xml中写 SQL 的话会造成各种冲突(虽然能够最终被解决)。
fastmybatis打破这种常规,允许不同的xml文件定义相同的namespace,程序启动时会自动把他们的内容合并到同一个文件当中去。
张三的UserMapper_zs.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.mayapp.mapper.TUserMapper"> <select id="selectByName" parameterType="String" resultMap="baseResultMap"> select * from t_user t where t.username = #{username} limit 1 </select> </mapper>
李四的UserMapper_ls.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.mayapp.mapper.TUserMapper"> <select id="updateUser" parameterType="String" resultMap="baseResultMap"> update t_user set username = #{username} where id=#{id} </select> </mapper>
最终会合并成
<?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.mayapp.mapper.TUserMapper"> <!-- 张三部分 --> <select id="selectByName" parameterType="String" resultMap="baseResultMap"> select * from t_user t where t.username = #{username} limit 1 </select> <!-- 李四部分 --> <select id="updateUser" parameterType="String" resultMap="baseResultMap"> update t_user set username = #{username} where id=#{id} </select> </mapper>
这样也体现了开闭原则,即新增一个功能只需要新增一个文件就行,不需要修改原来的文件。
如果SQL写多了还可以把它们进行分类,放到不同的xml中,便于管理。
注:合并动作是在启动时进行的,并不会生成一个真实的文件。
关于fastmybatis
fastmybatis是一个mybatis开发框架,其宗旨为:简单、快速、有效。
零配置快速上手
无需编写xml文件即可完成CRUD操作
支持mysql,sqlserver,oracle,postgresql,sqlite
支持自定义sql,sql语句可写在注解中或xml中
支持与spring-boot集成,依赖starter即可
轻量级,无侵入性,是官方mybatis的一种扩展
fastmybatis与MyBatis generator对比
【声明】文章转载自:开源中国社区 [http://www.oschina.net]
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- fastmybatis 1.0.11 发布,增强团队协作
- GitLab 9.2 发布,简化多人协作&增强本地化
- GitLab 11.11 发布,增强协作性功能以及 DevOps 功能
- GitLab 11.11 发布,增强协作性功能以及 DevOps 功能
- Go 协作与抢占
- Go 协作与抢占
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。