mybatis mysql 配置文件详解_Mybatis的配置文件参数详解
1.Myatis配置文件主要是mybatis-config.xml
我們來看一下這里的詳細(xì)的配置和需要注意的地方:
View Code
2.Mybatis配合文件節(jié)點(diǎn)詳細(xì)解釋
下面我們看看關(guān)于參數(shù)的配置情況,下面的信息是在mybatis配置文件中的每個(gè)配置大節(jié)點(diǎn)的詳細(xì)解釋(標(biāo)注是紅色的,需要重點(diǎn)知道的)
3.Mybatie配置文件中的setting節(jié)點(diǎn)下面配置信息的詮釋。
4.Mybatis中environments配置信息解釋
environment 元素是配置一個(gè)數(shù)據(jù)源的開始,屬性id是它的唯一標(biāo)識(shí)
transactionManager 元素配置數(shù)據(jù)庫事務(wù),其中type屬性有三種配置方式
jdbc,采用jdbc的方式管理事務(wù);
managed,采用容器的方式管理事務(wù),在JNDI數(shù)據(jù)源中使用;
自定義,自定義數(shù)據(jù)庫事務(wù)管理辦法;
dataSource 元素配置數(shù)據(jù)源連接信息,type屬性是連接數(shù)據(jù)庫的方式配置,有四種配置方式
UNPOOLED 非連接池方式連接
POOLED 使用連接池連接
JNDI 使用JNDI數(shù)據(jù)源
自定義數(shù)據(jù)源
5.數(shù)據(jù)庫字段和java中bean的對(duì)應(yīng)的類是:TypeHandlerReigser
6.Mapper.xml配置文件講解
6.1具體標(biāo)簽的使用(這里的標(biāo)簽,需要都知道,既然學(xué)了,就要記住)
? cache – 給定命名空間的緩存配置。
? cache-ref – 其他命名空間緩存配置的引用。
? resultMap – 是最復(fù)雜也是最強(qiáng)大的元素,用來描述如何從數(shù)據(jù)庫結(jié)果集中來加載對(duì)象。
? sql – 可被其他語句引用的可重用語句塊。
? insert – 映射插入語句
? update – 映射更新語句
? delete – 映射刪除語句
? select – 映射查詢語句
下面我們看一個(gè)Mapper.xml的詳細(xì)配置信息
id, user_name, real_name, sex, mobile, email, note, position_id
select
a.id,
a.user_name,
a.real_name,
a.sex,
a.mobile,
a.email,
a.note,
b.id post_id,
b.post_name,
b.note post_note
from
t_user a,t_position b
where
a.position_id=b.id
select
a.id,
a.user_name,
a.real_name,
a.sex,
a.mobile,
a.email,
a.note,
a.position_id
from
t_user a
selectfrom t_user
and user_name= #{userName,jdbcType=VARCHAR}
and email like CONCAT('%',#{email,jdbcType=VARCHAR},'%')
and1 = 1
selectfrom t_user
where id= #{id,jdbcType=INTEGER}
select a.id,
a.user_name,
a.real_name,
a.sex,
a.mobile,
a.note,
b.role_id,
c.role_name,
c.note role_note
from t_user a,
t_user_role b,
t_role c
where a.id=b.user_id AND
b.role_id=c.id
delete from t_user
where id= #{id,jdbcType=INTEGER}
SELECT LAST_INSERT_ID()insert into t_user (id, user_name, real_name,
sex, mobile, email,
note, position_id)
values (#{id,jdbcType=INTEGER}, #{userName,jdbcType=VARCHAR}, #{realName,jdbcType=VARCHAR},
#{sex,jdbcType=TINYINT}, #{mobile,jdbcType=VARCHAR}, #{email,jdbcType=VARCHAR},
#{note,jdbcType=VARCHAR}, #{positionId,jdbcType=INTEGER})
SELECT LAST_INSERT_ID()insert into t_userid,user_name,
real_name,
sex,
mobile,
email,
note,
position_id,
#{id,jdbcType=INTEGER},#{userName,jdbcType=VARCHAR},
#{realName,jdbcType=VARCHAR},
#{sex,jdbcType=TINYINT},
#{mobile,jdbcType=VARCHAR},
#{email,jdbcType=VARCHAR},
#{note,jdbcType=VARCHAR},
#{positionId,jdbcType=INTEGER},
update t_user
user_name= #{userName,jdbcType=VARCHAR},
real_name= #{realName,jdbcType=VARCHAR},
sex= #{sex,jdbcType=TINYINT},
mobile= #{mobile,jdbcType=VARCHAR},
email= #{email,jdbcType=VARCHAR},
note= #{note,jdbcType=VARCHAR},
position_id= #{positionId,jdbcType=INTEGER},
where id= #{id,jdbcType=INTEGER}
update t_user
set user_name= #{userName,jdbcType=VARCHAR},
real_name= #{realName,jdbcType=VARCHAR},
sex= #{sex,jdbcType=TINYINT},
mobile= #{mobile,jdbcType=VARCHAR},
email= #{email,jdbcType=VARCHAR},
note= #{note,jdbcType=VARCHAR},
position_id= #{positionId,jdbcType=INTEGER}
where id= #{id,jdbcType=INTEGER}
View Code
6.1.1 select 標(biāo)簽的使用
我們看一下該標(biāo)簽里面涉及到的屬性
關(guān)于這個(gè)標(biāo)簽,我們需要西湖一的點(diǎn)
我們首先需要注意的是resultType返回是集合的時(shí)候,返回的是集合的元素類型。不是list。
使用自動(dòng)映射的時(shí)候,也就是?resultType = "com.youy.mybatis.entity.TUser" ,這樣的話,需要將setting配置節(jié)點(diǎn)中的屬性? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 否則的話。帶有下劃線的列明,不能正常的對(duì)應(yīng)高bean里面;
如果使用的是resultMap的話,在節(jié)點(diǎn)里面將屬性對(duì)應(yīng)好,不用配置駝峰信息的話,也是可以的;
總結(jié):1.請(qǐng)求參數(shù),如果參數(shù)少于 5個(gè) 的話,我們需要傳遞固定的參數(shù)
2.傳入的參數(shù)要是大于5 個(gè)的話,就要使用的是bean,不要使用 map 作為入?yún)?#xff0c;因?yàn)椴缓镁S護(hù);
3.resultType,要是使用這個(gè)參數(shù)的話,返回值耦合性比較大,需要?jiǎng)拥胤奖容^多。
4.所以使用resultMap,這樣的配置信息,易于維護(hù)。便于解耦。
總結(jié)
以上是生活随笔為你收集整理的mybatis mysql 配置文件详解_Mybatis的配置文件参数详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网络打印机查找不到_打印机驱动的安装教程
- 下一篇: 散列表的设计与实现_散列表:如何实现wo