mybatis整理2

核心配置文件

configuration(配置)
properties(属性)
settings(设置)
typeAliases(类型别名)
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
environments(环境配置)
environment(环境变量)
transactionManager(事务管理器)
dataSource(数据源)
databaseIdProvider(数据库厂商标识)
mappers(映射器)

environments环境配置

mybatis可以配置成适应多种环境,sqlSeesionFactory实例只能选择一种环境,mybatis默认的事务管理器时JDBC,连接池时POOLED

properties属性

通过properties属性来实现引用配置文件,这些属性可外部配置且动态替换的,既可以在java文件中配置,也可以通过properties元素的子元素来传递
把url,driver,username,possword都放在db.properties中,然后把properties引入到xml中也可以在xml中通过property子元素通过键值对方式配置一些属性

typeAliases类型别名

为Java类型设置一个短的名字,减少类完全限定名的冗余 也可以指定一个包名,mybatis会在包名下搜索需要的Javabean,扫描实体类的包,它的默认别名就是这个类的类名(小写) 当指定一个类时,可以diy取名,但是指定包时,别名一律默认,如果必须要自己diy,那么在这个类上加注解@Alias("x") ## mappers映射器 resource配置时可以不在同一个包下 class和package必须在同一个包下 ## 生命周期和作用域 开始——>SqlSessionFactoryBuilder——>SqlSessionFactory——>SqlSession——>结束或者sqlmapper——>结束

SqlSessionFactoryBuilder:一旦创建了SqlSessionFactory就不需要了,局部变量
SqlSessionFactory:类似于数据库连接池,一旦被创建就一直存在。全局变量。
SqlSession:数据库连接池的一个请求,需要关闭,线程不是安全的,不能被共享。

ResultMap结果集映射

问题:字段与属性不匹配

当类的属性和数据库中的字段不一样时,执行的sql语句不一样的字段查询结果就是null,eg:属性:id、name、password;字段:id、name、pwd,执行查询语句时,结果中pwd为null

解决1:给字段起别名

select id,name,pwd password from user
这个需要改动sql语句

解决2:resultMap结果集

在mapper.xml中定义

<resultMap id="userMap" type="user">
	//column-字段 property-属性
	<result column="pwd" property="password"/>
	<result column="id" property="id"/>
	<result column="name" property="name"/>
</resultMap>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值