mybatis 通用mapper

-
mybatis 通用mapper
如何使用通用 Mapper 1.引入通用 Mapper依赖或者Jar包 2创建自己项目的基础 Mapper(Dao) 3配置拦截器 4配置 Spring打描接口 5.修改(或生成)实体类 6创建实体对应的具体的Dao 7.在 Service中使用 1.引入通用 Mappe依赖或者Jar包 如果你使用 Maven,只需要添加如下依赖: (dependency> <groupId>tk mybatis</ groupId> <artifactId>mapper</artifactId> (--建就使用最新版本,蔚版本牌M项营页查 <version>xxx</ version> dependency> 如果媳引入」ar包,你可以从下面的地址下载: https://oss.sonatype.org/content/repositories/releases/tk/mybatis/mapper httpfrepol.maven.org/maven2/tk/'mybatis/'mapper 由子通用 Mapper赖PA,所以还需要下载 persistence-ap10Ja httpfrepol.mavenorg/maven2/javax/persistence/persistence-api/1.0/ 当前最新版本为3.12 2创建自己项目的基础 Mapper(Dao) i 1 package com. netstarutil 2 30import tk mybatis mapper. common. Mapper 4 import tkmybatis mapper. common. MySqIMapper i 7*通用DAC基础接口,其他的DAO继承该接囗即可 8 *画 author1以 zenghui 1 术 11米*@ Paral<T> 12* 13 public interface NetstarDao<T> extends Mapper<T>, My 5qlMapper<T> 14 15 15 这里创建了一个名为 NetstarDao<T>的接口,继承了通用 Mapper中 的 Mapper<T>和 My SqlMapper<T>接口。 NetstarDao<T>继承后包含的方法 o delete(T): int- tk mybatis mapper comm on base. delete. DeleteMapp er eteByEx ample(Object): int-tk mybatis mapper comm on example. DeleteByExampleMapper o deleteByPrimaryKey (Object]: int - tk mybatis mapper. common base. delete. DeleteByPrimarykeyMapper @insert(): int- tk, mybatis mapper, comm on, base. insert, Inser tMapp er o4 insertList〔t灯):int-tk,mybi. mapper,cmn, spec1 a1.工 sertListMapper oFinsertSelective(T): int- tk mybatis mapper. common base. insert. InsertSelectiveMapper oinsertUseGeneratedKers(T): int -tk mybatis mapper comm on special. InsertUse GeneratedKeysMapper :●" select [t〕:List<T I. mybatis m apper. common base. select. SelectMapper A selectByEx amp1le〔bjct):[ist年r le. SelectByExamplem ap o selectByExampleAndRow Bounds(Object, RowBounds): List<T>-tkmyb atis mapper. common row bounds. SelectByExampleRowBoundsMapper yRey (Object]: T-tI myb lect. Select iyPrimarykeyll o AcelectByRowBounds (, Row Bounds): List<T>-tk mybatis mapper. common. rowbounds SelectRowBoundsMapper ●" selectcount ck. mybatis mapper. common base. select. SelectCountMapper oselectCountByExample(Object): int -tk mybatis mapper. common example. SelectCountByExampl mApper ( T):T-tk mybatis mapper. common base. select. SelectOneMapper oupdateBy Example(T, Object): int- tk mybatis mapper. common. ex ample. UpdateByEx ampleMapper oup dateByExampleSelective(t, Object]: int - tk mybatis m apper. common. ex ample. UpdateByEx ampleSelectiveMapper Aup dateByPrimaryKey (T): int -tk mybatis, m apper. common base. update Up dateByPrimarykeymapper @updateByPrimaryfeySelective[T):int-tImybatismapper.commonbase.updateUpdateBy marke ySelectiveMapp 在 insert和 update中带 Selective后缀的方法,在 insert和 update时,不会插入或者更新值为nul 的列 带 Example的方法,支持 My Batis生成器生成的 XXXEXample和通用 Mapper自带的 Example(XXX. class)类, EXample方法能实现大部分的复杂单表操作,详细的用法可以自己尝 试(最后面有个例子) 具体方法的含义可以査看项目文档中的《 Mapper3通用接口大全》 3配置拦截器 在 My Batis配置文件中添加 MapperInterceptor拦截器配置: <configuration> <settings <setting name="azyLoadingEnabted value= false"/ <setting name="cacheEnabted" value= false/ <setting name="useGeneratedkeys value=true/> <setting name=defaul tExecutorType" value="REUSE"/> </setting Igins> <plugin interceptor="th mybatis mapper. mapperhetper MapperInterceptor"> <property name= mappers value=com. netstan utit NetstarDao"/> /plugin> /plugin . configuration 汴意这里的 com netstar uti! NetstarDao就是我们直接创建的基础接口 4.配置 SprIng扫描接口 !--自动扫摧Mper接口生成代理类-- bean c1ass="g. mybatis. spring.m户门阿ppe!如 coNfigurer <property name="basePackage" value=com netstar-=- dao"/> 只有继承了 NetstarDa的接口才自动生成代理类,其他的还需要手工编写实现类-- <property name="markerInterface value="com. netstar utiL.NetstarDao"/> (6 (property name=sqLSession Factory BeanName" value="sglSessionFactory'/> bean? 增加该配置后, Spring会自动扫描c。m. netstar.*dao包下继承了 NetstarDao接口的所有接口类,并且自动生成接口的代理类。 5.修改(或生成)实体类 @Table(name ="basile") public class Bas File implements Serializable i private static final long seriatversionUED=1L aId aGeneratedalue(generator =JDBC) private Long id private Long orgid private String filepath private String filetype private Integer filelength private Long userid; private Date uploadtime private String originalfilename private string description 对实体增加适当的注解配置(通用 Mapper包含了一个可以生成 带注解实体癸的 My Batis生成器插件,详细信息看项目文档) 6创建实体对应的Dao 创建 BasIle对应的 Bas File dao接口,创建完该接口后,该接口就拥有了 Netstardao包含的全部方法。 1 Package com.netstar cus. asca@: 3eimport com netstar cus. bss madel.BasFile; 4 import romnetstar.ltI. AtitarDaz 6 public interfacc Bar=lcAo cHtends NetstarDao<Bas Filc>t 如果你需要添加自己的接口方法,在这个接口中添加即可。 public interface Bas Funs Cao extends NetstarDao<Bas Funs>I st<Eas Funs> selectByUserId(long userid) 另外还要创建一个对应的xm,如下 1. a" encoding="UTF 8. B//CV"nttp: //myb. E/dtd/mybatis-3-mapper.td 4 <mapper n anespace= Com. nestor CuS 2us uuo. B75Fun3Du0> 根据用户i限积同思 CBYUserf a netenTypa="I ong LtTyae="com. metstomr Cus-Eas-madeL-BcsFuins". n Basra已 join BasUserrole d 需要保证 namespace的值是接口的完整名称,另外这个xm也要被扫描到。 Kean id="sqLSession Factory"class=org.mybatis spring. Sgtsessian FactoryBsan"> property name="confi gt acation"value="classpath:mybatis-config XML/> FPa2 enty name=" arPent actions" valle=" classpath*:!c判门 pEston/中+d四*xm”> erLy llull e=" uLus!jLe"r"e「=" eulusuurce”

tk.mybatis扩展通用接口使用详解下载_course
2020-10-16主要介绍了tk.mybatis扩展通用接口使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 相关下载链接://download.csdn.ne
Mybatis分组问题(group by)_course
2013-04-26在ibatis的resultMap中有一属性是group-by='字段',但是使用mybatis后发现resultMap中没有这个属性了,请问该怎么进行分组了?不希望在SQL语句中写group by
106KB
tkmybatis.rar
2020-08-20Springboot整合TkMybatis,效果跟mybatis-plus一致, 省掉CRUD的代码编写,让我们一起优雅。
mybatis或者tkmybatis怎么快速实现多表查询?_course
2017-07-16特别是多表查询,如果不通过修改xml映射,有没有其他的途经去实现多表查询?
-
博客
java-maven
java-maven
-
学院
【数据分析-随到随学】数据可视化
【数据分析-随到随学】数据可视化
-
博客
Go语言GOPROXY设置
Go语言GOPROXY设置
-
学院
pyechart数据可视化
pyechart数据可视化
-
学院
android笔试面试和实战课程
android笔试面试和实战课程
-
下载
mybatis自定义标签.zip
mybatis自定义标签.zip
-
下载
TimeTable.zip
TimeTable.zip
-
下载
7-200 SMART样本.pdf
7-200 SMART样本.pdf
-
学院
阿里云云计算ACP考试必备教程
阿里云云计算ACP考试必备教程
-
学院
ArcGIS Pro2.6和ArcGIS Enterprise学习
ArcGIS Pro2.6和ArcGIS Enterprise学习
-
学院
three.js入门速成
three.js入门速成
-
博客
C++学习(一九零)libc++与 libstdc++
C++学习(一九零)libc++与 libstdc++
-
学院
flutter插件调用APP页面、使用原生aar,framework库
flutter插件调用APP页面、使用原生aar,framework库
-
博客
向量算子优化Vector Operation Optimization
向量算子优化Vector Operation Optimization
-
博客
Arrays分类算法-First Duplicate Value
Arrays分类算法-First Duplicate Value
-
博客
复习_2: Find the toppest 1
复习_2: Find the toppest 1
-
下载
Driver Signature Enforcement Overrider-桌面系统工具类资源
Driver Signature Enforcement Overrider-桌面系统工具类资源
-
下载
超级好用老板键.rar
超级好用老板键.rar
-
下载
初中数学竞赛专家讲座初等数论-2021.01.15.pdf
初中数学竞赛专家讲座初等数论-2021.01.15.pdf
-
学院
性能测试面面观
性能测试面面观
-
博客
Arrays分类算法-Subarray Sort
Arrays分类算法-Subarray Sort
-
博客
HTML调用PHP的方法
HTML调用PHP的方法
-
博客
页码的制作
页码的制作
-
博客
gin 日志分割
gin 日志分割
-
下载
CPP-Summit 2019 - 李永顺 - 嵌入式系统C++性能优化.pdf
CPP-Summit 2019 - 李永顺 - 嵌入式系统C++性能优化.pdf
-
博客
215. 数组中的第K个最大元素 ( 基于快排的选择算法 )
215. 数组中的第K个最大元素 ( 基于快排的选择算法 )
-
学院
前端性能优化
前端性能优化
-
博客
idea去掉中间白线的方法超简单
idea去掉中间白线的方法超简单
-
下载
个人总结的408往年题目知识点分布
个人总结的408往年题目知识点分布
-
学院
前端架构师-速成
前端架构师-速成