国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 桐梓县| 祁门县| 都安| 平潭县| 乌拉特前旗| 崇阳县| 页游| 万盛区| 通城县| 新津县| 关岭| 平舆县| 历史| 北宁市| 同江市| 高安市| 江津市| 棋牌| 九寨沟县| 衡阳县| 顺昌县| 扶风县| 阳谷县| 蒲城县| 弥渡县| 安岳县| 霍山县| 沐川县| 瑞丽市| 揭东县| 日照市| 巴楚县| 平安县| 金乡县| 东乡族自治县| 万山特区| 巴马| 阜新| 卢湾区| 仙居县| 阿图什市|