【Mybatis】注意
Mybatis注意点
-
流程:从mybatis配置文件获取资源输入流,通过SqlSessionFactoryBuilder创建SqlSessionFactory,获取SqlSession。
通过SqlSession获取mapper对象,调用方法。最后关闭SqlSession。
-
要写文件:
[db.properties]
mybatis-config.xml:配置事务管理器,连接池,数据库
MybatisUtils:通过其获取SqlSession
pojo
接口xxxMapper.java
映射文件xxxMapper.xml
测试方法
-
在mybatis-config.xml文件中,要配置每个xxxMapper.xml
-
报错找不到xxxMapper.xml文件,可能原因:
一、资源导出失败,要在pom.xml中配置resources。二、配置文件中xxxMapper.xml的路径写错。
-
mybatis中默认关闭事务自动提交。
要提交修改需要调用
sqlSession.commit()
方法,或在获取Session时用sqlSessionFactory.openSession(true)
。 -
有多种绑定mapper的方式,推荐使用resource方式。
除了resource方式,其他的要求 接口和Mapper配置文件必须同名且在同一个包下。
-
Mybatis默认的事务管理器就是JDBC,连接池:POOLED
-
配置:
使用properties属性引用配置文件,可以引入db.properties。
使用typeAliases给类起别名,也可以指定一个包名(包下所有JavaBean的默认别名是首字母小写的类名)。
-
当JavaBean中的属性名与数据库表的字段名不一致,导致结果字段为null时:
一、设置列别名。二、使用resultMap
-
日志:常用LOG4J和STDOUT_LOGGING
-
接口xxxMapper.java方法的参数:
参数为基本类型或String类型,一般都加上注解
@Param("xx")
。引用类型不用加
-
xxxMapper.xml中查询涉及多对一关系和一对多关系:
1.关联 - association【多对一】
2.集合 - collection【一对多】
3.javaType & ofType
javaType:用来指定实体类中属性的类型
ofType:用来指定映射到List或集合中的pojo类型,泛型中的约束类型
- 当接口的方法有多个参数时,可以用Map传递参数。在xxxMapper.xml的sql中取key值即可。