mybatis mysql 配置文件详解_Mybatis的配置文件参数详解

本文详细解析了Mybatis的配置文件mybatis-config.xml,包括setting、environments、transactionManager、dataSource等节点的配置信息。重点介绍了database字段与Java Bean的映射、Mapper.xml中的各种标签用法,如cache、resultMap、insert、update、delete、select,并给出了最佳实践建议,如参数数量超过5个时使用Bean而非Map,以及推荐使用resultMap以提高代码维护性和解耦。
摘要由CSDN通过智能技术生成

1.Myatis配置文件主要是mybatis-config.xml

84eb0d313c221bdf35dc286116525da5.png

我们来看一下这里的详细的配置和需要注意的地方:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

View Code

2.Mybatis配合文件节点详细解释

下面我们看看关于参数的配置情况,下面的信息是在mybatis配置文件中的每个配置大节点的详细解释(标注是红色的,需要重点知道的)

2e8def0fc92ac001f82712f02d6f297a.png

3.Mybatie配置文件中的setting节点下面配置信息的诠释。

425a84313a31853f3613f7db934eef9b.png

933446caf2bcfe9be9c20b79a9e6a646.png

e1bfd7e5735e8a3286b8aa4a9fabe2af.png

4.Mybatis中environments配置信息解释

environment 元素是配置一个数据源的开始,属性id是它的唯一标识

transactionManager 元素配置数据库事务,其中type属性有三种配置方式

jdbc,采用jdbc的方式管理事务;

managed,采用容器的方式管理事务,在JNDI数据源中使用;

自定义,自定义数据库事务管理办法;

dataSource 元素配置数据源连接信息,type属性是连接数据库的方式配置,有四种配置方式

UNPOOLED 非连接池方式连接

POOLED 使用连接池连接

JNDI 使用JNDI数据源

自定义数据源

5.数据库字段和java中bean的对应的类是:TypeHandlerReigser

6.Mapper.xml配置文件讲解

6.1具体标签的使用(这里的标签,需要都知道,既然学了,就要记住)

 cache – 给定命名空间的缓存配置。

 cache-ref – 其他命名空间缓存配置的引用。

 resultMap – 是最复杂也是最强大的元素,用来描述如何从数据库结果集中来加载对象。

 sql – 可被其他语句引用的可重用语句块。

 insert – 映射插入语句

 update – 映射更新语句

 delete – 映射删除语句

 select – 映射查询语句

下面我们看一个Mapper.xml的详细配置信息

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

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 标签的使用

我们看一下该标签里面涉及到的属性

456472be93edc7b78ae5e260d84945da.png

关于这个标签,我们需要西湖一的点

我们首先需要注意的是resultType返回是集合的时候,返回的是集合的元素类型。不是list。

使用自动映射的时候,也就是 resultType = "com.youy.mybatis.entity.TUser" ,这样的话,需要将setting配置节点中的属性                                                  否则的话。带有下划线的列明,不能正常的对应高bean里面;

如果使用的是resultMap的话,在节点里面将属性对应好,不用配置驼峰信息的话,也是可以的;

总结:1.请求参数,如果参数少于 5个 的话,我们需要传递固定的参数

2.传入的参数要是大于5 个的话,就要使用的是bean,不要使用 map 作为入参,因为不好维护;

3.resultType,要是使用这个参数的话,返回值耦合性比较大,需要动地方比较多。

4.所以使用resultMap,这样的配置信息,易于维护。便于解耦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值