mybatis 通用mapper

所需积分/C币:50 2016-11-25 15:00:15 161KB PDF
收藏 收藏
举报

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”

...展开详情
试读 13P mybatis 通用mapper
立即下载 低至0.43元/次 身份认证VIP会员低至7折
抢沙发
一个资源只可评论一次,评论内容不能少于5个字
  • 分享宗师

    成功上传21个资源即可获取
关注 私信 TA的资源
上传资源赚积分or赚钱
最新推荐
mybatis 通用mapper 50积分/C币 立即下载
1/13
mybatis 通用mapper第1页
mybatis 通用mapper第2页
mybatis 通用mapper第3页

试读结束, 可继续读1页

50积分/C币 立即下载 >