Outros conceitos:
1. Interface de programação
Primitivo: Dao ------------------> DaoImpl
Mybatis Mapper -------------> xxMapper.xml
2. SqlSession representa uma sessão com o banco de dados, deve ser fechada quando se esgotar
3. SqlSession e Connection não são thread-safe. Você deve obter um novo objeto toda vez que usá-lo
4. Não há classe de implementação para a interface do Mapeador, mas mybatis irá gerar um objeto proxy para ela. (Ligue a interface com xml)
EmployeeMapper empMapper = sqlSession.getMapper(EmployeeMappper.getClass);
5. Dois arquivos de configuração importantes
Arquivo de configuração global Mybatis: informações do pool de conexão do banco de dados, informações do gerenciador de transações, informações do ambiente operacional do sistema, etc.
Arquivo de mapeamento sql: salvar as informações de mapeamento de cada instrução sql: extrair sql
Arquivo de configuração global Mybatis
5. Mybatis pode usar a tag de propriedades para importar o conteúdo do arquivo de configuração de propriedades externas
<properties resource="dbconfig.properties"></properties>
resource:引入类路径下的资源
url:引入网络路径下或者磁盘路径下的资源
6, rótulo de configuração de configurações para comportamento em tempo de execução
setting:用来设置每一个设置项
name:设置项名
value:设置项取值
7. tag typeAliases : processador de alias: podemos criar um alias para nossos tipos Java (recomendar aliasing em lote)
<package name="com.xuan.mybatis.bean"/>
package:为某个包下所有的类批量起别名
name:指定包名(为当前包以及下面所有的子包的每一个类都起一个默认的别名(类型小写 ))
Nota: No caso de aliasing em lote, use a anotação @Alisa para especificar um novo alias para um tipo (para evitar duas classes com o mesmo nome no mesmo pacote)
8. A tag de ambientes : Você pode configurar vários ambientes para mybatis (ambiente de desenvolvimento, ambiente de teste, etc.), o padrão especifica o uso de um determinado ambiente
environment:配置一个具体的环境信息;必须包含两个标签(transactionManager、dataSource),id代表当前环境唯一标识
transactionManager:事务管理器
dataSource:数据源
9. A tag databaseIdProvider : O atributo type que oferece suporte a vários fornecedores de dados é para obter a identificação do fornecedor do banco de dados (Mysql, Oracle, SQL server ...)
<databaseIdProvider>
<!--为不数据库厂商起别名-->
<property name="Mysql" value="mysql"/>
<property name="Oracle" value="oracle"/>
<property name="SQL server" value="sqlserver"/>
</databaseIdProvider>
10, tag mappers : registre o mapeamento sql para a configuração global
mapper:注册一个sql映射
resource属性:引用类路径下的sql映射文件
url属性:引用网络路径或磁盘路径下的sql映射文件
class属性:引用(注册)接口
1. Existe um arquivo de mapeamento sql, o nome do arquivo de mapeamento deve ser o mesmo da interface e deve ser colocado no mesmo diretório da interface;
2. Não há arquivo de mapeamento sql, todo o sql é escrito na interface com anotações;
Recomendado:
A) A interface Dao mais importante e complexa é escrita usando o arquivo de mapeamento sql
B) A interface Dao simples e sem importância pode usar anotações para desenvolvimento rápido