• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

gulosity-mybatis-plugin: Mybatis-Spring扩展包,启动时根据实体动态生成常用方法和R ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

gulosity-mybatis-plugin

开源软件地址:

https://gitee.com/opdar/gulosity-mybatis-plugin

开源软件介绍:

#gulosity-mybatis-plugin

自动生成resultMap和常用方法的spring小插件,原理为启动时扫描对应注解的实体,通过dom创建相应的代码在加载入mybatis。

Maven Dependency

<dependency>    <groupId>com.opdar.plugins</groupId>    <artifactId>gulosity-mybatis-plugin</artifactId>    <version>v1.1.7</version></dependency>

更多使用文档

Spring配置,将原有的org.mybatis.spring.SqlSessionFactoryBean替换为**com.opdar.plugins.mybatis.core.GuSqlSessionFactoryBean**

<bean id="sqlSessionFactory" class="com.opdar.plugins.mybatis.core.GuSqlSessionFactoryBean">    <-- 数据源 -->    <property name="dataSource" ref="dataSource" />    <-- Namespace对应的实体扫描路径 -->    <property name="basePackage" value="com.opdar.web.entities" />    <-- 库名,默认为空,即表名不加前缀 -->    <property name="databaseName" value="test"/>    <-- 表前缀,默认为空,即表名不加前缀 -->    <property name="tablePrefix" value="t_"/>    <-- Mapper扫描路径 -->    <property name="mapperLocations" value="classpath:com/opdar/mapper/*.xml" /></bean>
首先创建一个接口,这一步基本与原来一样,根据该接口插件会生成Mapper Proxy。只是接口需继承**com.opdar.plugins.mybatis.core.IBaseMapper**
/*** Mapper Interface**/class UserMapper extends IBaseMapper<UserEntity>{//...}
第二,选择一个需要自动生成mapper的实体
   /**/*** 实体对象**/@Namespace(UserMapper.class)class UserEntity{    private String id;    private String userName;    private String userPwd;//...}
这样的一个实体将会生成名为userResult的resultMap,以及selectOne,selectList,insert,update,delete,count的六个方法。
Mapper的Namespace为"包名.UserMapper",对应该namespace的xml无所谓创建与否,都可以生成这些方法。当然也可以创建后复写该resultMap和六个方法。

例:

<?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.opdar.web.mapper.UserMapper">    <select id="selectOne" parameterType="...UserEntity" resultMap="userResult">        SELECT TOP 1 * FROM `database`.`t_user` WHERE        ID = #{id}    </select>        <select id="selectOne2" parameterType="...UserEntity" resultMap="userResult">        SELECT TOP 1 * FROM `database`.`t_user` WHERE `vaild` = 0        AND ID = #{id}    </select></mapper>
在这里我对selectOne方法进行了复写,并且新增了一个selectOne2的方法,启动时插件将会忽略生成selectOne方法。
当然,如果没有那么复杂的需求,以上的xml文件也可以完全删除,插件将会自动生成一个Mapper加载入程序。

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap