目录
核心配置文件
environments(环境配置)
properties(属性)
typeAliases( 类型别名)
映射器
注解开发
Mybatis执行流程
核心配置文件
mybatis-config.xml
configuration(配置)
properties(属性)
settings(设置)
typeAliases(类型别名)
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
environments(环境配置)
environment(环境变量)
transactionManager(事务管理器)
dataSource(数据源)
databaseIdProvider(数据库厂商标识)
mappers(映射器)
environments(环境配置)
MyBatis 可以配置成适应多种环境
<environments default="test1">
<environment id="test1">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://192.168.1.120:3306/xxxj_base?useUnicode=true&characterEncoding=UTF-8&useSSL=false"/>
<property name="username" value="xkb_train"/>
<property name="password" value="xkbJypx2021@"/>
</dataSource>
</environment>
<environment id="test2">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://192.168.1.120:3306/xxxj_base?useUnicode=true&characterEncoding=UTF-8&useSSL=false"/>
<property name="username" value="xkb_train"/>
<property name="password" value="xkbJypx2021@"/>
</dataSource>
</environment>
</environments>
注意:尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境。
properties(属性)
这些属性可以在外部进行配置,并可以进行动态替换。
可以在典型的 Java 属性文件中配置这些属性,也可以在 properties 元素的子元素中设置
新建db.properties文件
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?useSSL=false&useUnicode=true&characterEncoding=UTF8
username=root
password=123
修改mybatis-config.xml文件
typeAliases( 类型别名)
1.存在别名的是为Java类型设置一个短的名字,存在的意义仅用来减少类完全限定的冗余
mybatis-config.xml
<typeAliases>
<typeAlias type="com.logck.pojo.UserTest" alias="UserTest"/>
</typeAliases>
xml中修改:
<select id="getUserTestList" resultType="UserTest">
select * from user_test
</select>
2.也可以指定一个包名,Mybatis会在包名下面搜索java Bean ,比如:扫描实体类的包,它的默认别名就是为这个类的类型,首字母小写!
<typeAliases>
<package name="cn.lgcgk.pojo"/>
</typeAliases>
在实体类比较少的时候,使用第一种方式;如果实体类十分多,建议使用第二种。
第一种可以自定义别名,第二种则不行,如果非要改,需要在实体上增加注解
@Alias("user")
public class User implements Serializable {
映射器
方法一:注册绑定我们的Mapper文件
<mappers>
<mapper resource="cn/lgcgk/dao/UserMapper.xml"/>
<!--通配方式-->
<mapper resource="cn/lgcgk/dao/*Mapper.xml"/>
</mappers>
方法二:使用class文件绑定注册
每一个Mapper.xml都需要在mybatis-config.xml核心配置文件中注册!
<mappers>
<mapper class="cn.lgcgk.dao.UserMapper"/>
</mappers>
接口和他的mapper文件配置文件必须再同一包下!
方法三:使用扫描包注册
<package name="cn.lgcgk.dao"/>
<mappers>
<package name="cn.lgcgk.dao"/>
</mappers>
每一个Mapper.xml都需要在mybatis-config.xml核心配置文件中注册
接口和他的mapper文件配置文件必须再同一包下!
注解开发
1、在注解上实现,不再需要xml文件
@Select("select * from users")
List<User> getUsers();
2.需要在核心配置文件中绑定接口
<!--绑定接口-->
<mappers>
<mapper class="com.lgcgk.dao.UserMapper"/>
</mappers>
通过反射实现,底层使用了动态代理