MyBatis 可以配置成适应多种环境,这种机制有助于将 SQL 映射应用于多种数据库之中,
不过要记住:尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境。
mybatis默认事物管理器是JDBC,默认是有连接池(POOLED)
我们可以通过properties引用配置文件
<properties resource="db.properties"> </properties>
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?useSSl=trueuseUnicode=truecharacterEncoding=UTF-8
username=root
password=root
@Test
public void test(){
//第一步,获得SqlSession对象
SqlSession sqlSession = MyBatisUtils.getSqlSession();
//方式一getMapper:执行SQL
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List<User> userList = mapper.getUserList();
for (User user : userList) {
System.out.println(user);
}
//关闭SqlSession
sqlSession.close();
}
如果核心配置文件和外部properties都写了相同属性,优先外部使用properties里的。
类型别名(typeAliases)
类型别名可为 Java 类型设置一个缩写名字。 它仅用于 XML 配置,意在降低冗余的全限定类名书写
个人喜欢写全名,排错的时候方便找,看个人喜好吧
<typeAliases>
<typeAlias alias="User" type="com.godwin.pojo.User"/>
</typeAliases>
<select id="getUserList" resultType="User">
select * from mybatis.user;
</select>
2.给包起别名
<typeAliases>
<package name="com.godwin.pojo"/>
</typeAliases>
//官方建议用小写
<select id="getUserList" resultType="user">
select * from mybatis.user;
</select>
实体类比较少,使用第一种
实体类比较多,使用第二种
第二种可以在类上设置别名
**这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为。
cacheEnabled 默认:true
全局性地开启或关闭所有映射器配置文件中已配置的任何缓存。
lazyLoadingEnabled 默认:true
延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。 特定关联关系中可通过设置 fetchType
属性来覆盖该项的开关状态。true
useGeneratedKeys 默认:false
允许 JDBC 支持自动生成主键,需要数据库驱动支持。如果设置为 true,将强制使用自动生成主键。尽管一些数据库驱动不支持此特性,但仍可正常工作(如 Derby)。
mapUnderscoreToCamelCase 默认:false
是否开启驼峰命名自动映射,即从经典数据库列名 A_COLUMN 映射到经典 Java 属性名 aColumn。
logImpl(重要) 默认:未设置
有效值:SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING
指定 MyBatis 所用日志的具体实现,未指定时将自动查找。
MapperRegistry:注册绑定我们的Mapper文件;
方式一:推荐使用
<!-- 使用相对于类路径的资源引用 -->
<mappers>
<mapper resource="com/godwin/mapper/UserMapper.xml"/>
</mappers>
方式二:
<mappers>
<mapper class="com.godwin.mapper.UserMapper"/>
</mappers>
注意点:
方式三:
<mappers>
<package name="com.godwin.mapper"/>
</mappers>
注意点:
了解,一般用不到,需要时再回来查看
原文:https://www.cnblogs.com/XING-ZHI-JI-DA-XUE/p/14237345.html