Mybatis的xml文件的相关配置
mybatis相关属性:configuration、propeties、settings、typeAliases、typeHandlers、objectFactory、plugins、environments、environment、transactionManager、datasource
1、mybatis可以使用properties来引入外部properties配置文件
resource:引入类路径下的资源
url:引入网络路径或磁盘下的资源
2、setting设置,改变mybatis的运行时行为
3、typeAliases:类型别名,为类指定类名
4、typeHandler:1、日期类型处理 2、自定义类型处理器
步骤:1、实现org.Apache.ibatis.type.TypeHandler接口或继承org.Apache.ibatis.type.BaseTypeHandler
2、指定映射某个JDBC类型
3、在mybatis全局配置文件中注册
5、plugins
6、ObjectFactory:查对象工厂,默认使用
ObjectFactory只包含两个方法,一个是构造函数,一个是带参数的构造函数。
在ObjectFactory实例化后,通过setProperties方法,在对象工厂中定义属性。
7、environment:虽然可以配置多重环境,你也只可以选择一对一SqlSessionFactory实例
一个SqlSessionFactory实例对应一个数据库
关键段:1、设定一个默认环境Id 2、这个环境Id对每个环境都起作用 3、配置事务管理器 4、配置数据源
事务管理器:mybatis有两个事情管理类型:JDBC:直接全部使用JDBC的提交和回滚功能(依靠使用连接的数据源来管理事务的作用域)
managed:不提交任何操作,直接把类名称或者类型别名指向你的TransactionFactory接口实现类。
数据源:是用来配置使用JDBC数据源接口的JDBC连接对象的源
8、Mappers:SQL映射语句文件
运行顺序:先运行selectKey查询id的sql,查出id值封装成JavaBean的id的属性
在运行插入的sql:取出id属性对应值
单个参数:mybatis不会做特殊处理,#{参数名}:取出参数值
多个参数:mybatis会做特殊处理 多个参数会封装成一个map #{}就是从map中获取指定的key值 key:param1.......paramn
命名参数:明确指定封装参数值map的key;多个参数会被封装成一个map,key使用@param注解指定的 value:参数值
POJO:如果多个参数正好是我们业务逻辑的数据模型,我们直接传入POJO
#{属性名}:取出传入的POJO的属性值
Map:如果多个参数不是业务模型中的数据,没有对应的POJO,传入Map
#{key}:取出map中对应的值
注意:mapper映射的xml文件里面指定了对应的实体类,该实体类必须要有无参构造器
如果多个参数不是业务模型中的数据,但是经常要使用,To(Transfer Object)数据传输对象