国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

ssm通用mapper配置詳解

2019-11-11 03:48:24
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

一.導(dǎo)依賴

<dependency>

    <groupId>com.github.abel533</groupId>

    <artifactId>mapper</artifactId>

    <version>2.3.4</version>

</dependency>

二.配置攔截器

在mybatis-config.xml里面配置		
		<plugin interceptor="com.github.abel533.mapperhelper.MapperInterceptor">			<!--主鍵自增回寫方法,默認(rèn)值MySQL,詳細(xì)說(shuō)明請(qǐng)看文檔 -->			<PRoperty name="IDENTITY" value="MYSQL" />			<!--通用Mapper接口,多個(gè)通用接口用逗號(hào)隔開(這個(gè)是通用Mapper給我們提供的被繼承的接口,包括基本的crud操作) -->			<property name="mappers" value="com.github.abel533.mapper.Mapper" />		</plugin>
 或者在sqlsessionFactory里注入
		<property name="plugins">   		  <array>      			<bean class="com.isea533.mybatis.mapperhelper.MapperInterceptor"/>  		  </array>  		</property>

三.對(duì)實(shí)體類進(jìn)行注解,如@Table,@Id等

在繼承用用Mapper的接口的時(shí)候,需要指定Mapper的泛型,這個(gè)泛型就是指實(shí)體類.而這個(gè)實(shí)體類必須要符合以下規(guī)范:

1.通用Mapper會(huì)默認(rèn)為表名=實(shí)體類名,駝峰的話會(huì)轉(zhuǎn)下劃線,如UserInfo類對(duì)應(yīng)的表為user_info

2.如果上一條不滿足的話,則可以在實(shí)體類上面加注解@Table(name="tablename")

3.通用Mapper會(huì)默認(rèn)將實(shí)體類的屬性轉(zhuǎn)為表的字段

4.如果上一條不滿足的話,加注解@Column(name="fieldname")

5.實(shí)體類的有些屬性 沒有對(duì)應(yīng)表的字段的話,則要在這個(gè)屬性上面加上注解@Transient,表示將這個(gè)屬性忽略

6.通用Mapper有幾個(gè)方法是需要主鍵的,如selectByPrimaryKey等,所以可以在主鍵對(duì)應(yīng)的實(shí)體類屬性上加上注解@Id,聲明這個(gè)屬性是主鍵屬性,如果不加的話,所有的屬性都會(huì)作為主鍵進(jìn)行使用,這樣會(huì)很大程度的影響效率

7.因?yàn)榛绢愋驮趯?duì)象初始化的時(shí)候會(huì)默認(rèn)值,無(wú)法消除,所以實(shí)體類盡量使用包裝類

8.Mapper還提供了序列(支持Oracle)、UUID(任意數(shù)據(jù)庫(kù),字段長(zhǎng)度32)、主鍵自增(類似Mysql,Hsqldb)三種方式,其中序列和UUID可以配置多個(gè),主鍵自增只能配置一個(gè)。

這三種方式不能同時(shí)使用,同時(shí)存在時(shí)按照 序列>UUID>主鍵自增的優(yōu)先級(jí)進(jìn)行選擇.

序列://可以用于數(shù)字類型,字符串類型(需數(shù)據(jù)庫(kù)支持自動(dòng)轉(zhuǎn)型)的字段,@SequenceGenerator(name="Any",sequenceName="seq_userid"),該字段不會(huì)回寫id

UUID:@GeneratedValue(generator = "UUID")該字段不會(huì)回寫id

主鍵自增:不限于@Id注解的字段,但是一個(gè)實(shí)體類中只能有一個(gè)@GeneratedValue(strategy = GenerationType.IDENTITY),會(huì)回寫id

四.繼承Mapper接口

public interface UserMapper extends Mapper<User> {}

注:通用Mapper只支持對(duì)單表的操作,如果多表的話,可以自己在映射文件中另外寫sql.

題外話:學(xué)完通用Mapper后,想自己寫篇文章來(lái)鞏固的,就按著學(xué)習(xí)資料來(lái)寫,結(jié)果寫到一半,發(fā)現(xiàn)通用Mapper的締造者已經(jīng)寫過(guò)一篇詳細(xì)的了,本想放棄的,但是想到大神的那篇博客太詳細(xì)了,初學(xué)者可能會(huì)看懵,我這篇更容易上手一些,就繼續(xù)寫下來(lái)了.

附上大神的博客:http://blog.csdn.net/isea533/article/details/41457529?locationNum=2&fps=1


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 巩义市| 孝义市| 临沧市| 武邑县| 兴义市| 南靖县| 西宁市| 金坛市| 璧山县| 亚东县| 西和县| 宣城市| 利川市| 麟游县| 安福县| 翼城县| 太仆寺旗| 曲周县| 吴川市| 闽清县| 北流市| 庐江县| 绥滨县| 临桂县| 三亚市| 水富县| 武邑县| 彰化市| 寿宁县| 集安市| 双城市| 温州市| 崇左市| 莲花县| 绿春县| 扬中市| 东莞市| 马关县| 吉首市| 昭觉县| 台前县|