配置文件讲解
官方文档:https://mybatis.org/mybatis-3/zh/configuration.html#
详细配置可以去官方文档看
这是没用spring的场景,所以需要配置文件,如果使用springboot就不需要这么写了
我的配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--下划线自动映射驼峰实体对象属性-->
//setting还可以开启一级二级缓存、懒加载等等
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/educationapp?useUnicode=true;characterEncoding=UTF-8;serverTimezone=Asia/Shanghai"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mapper/VideoMapper.xml"/>
</mappers>
</configuration>
-
核心配置文件(dom节点顺序要求,不然报错)
- 记住常用的,不常用的简单介绍,
configuration(配置) properties(属性) settings(设置) typeAliases(类型别名) typeHandlers(类型处理器)//用的不多 objectFactory(对象工厂) plugins(插件,少用) environments(环境配置,不配多环境,基本在Spring里面配置) environment(环境变量) transactionManager(事务管理器) dataSource(数据源) databaseIdProvider(数据库厂商标识) mappers(映射器)
查询typeAlias别名使用
在之前的mapper中写的resultType和parameterType参入实体和接收实体写的是全路径名
可以使用typeAlias给类型起别名,可以不用输入类的全限定名
mybatis.config.xml配置文件
设置好后在mapper.xml接收实体参数就可以修改成起的别名了
问题:如果有很多类,是否需要一个个配置?
-
不用一个个配置,使用包扫描即可
他会扫描这个包的全部类,包后面的类名定为别名
<typeAliases> <!--<typeAlias type="net.jhclass.online_class.domain.Video" alias="Video"/>--> <package name="net.jhclass.online_class.domain"/> </typeAliases>
-
本身就内置很多别名,比如Integer、String、List、Map 等
就像之前写的删除操作,传入参数使用的Map,其实可以不写全路径,直接写Map也是可以的
高性能之Sql片段使用
-
你是否常用select * 去查询数据库
在高性能业务开发中是不允许的,你用*和指定字段差别是很大的
小项目没问题,高并发项目不推荐这样使用,查询性能低,应该选择需要的字段
-
什么是sql片段
像下面的例子,根据业务的需求,指定很多重复字段,造成一个重复代码,使用sql片段的方式复用
示例
需要重复的字段写在sql中,在sql语句中使用include标签,然后指定sql名称就可以使用了