English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
MyBatis é uma excelente estrutura de camada de persistência que suporta consultas SQL comuns, procedimentos armazenados e mapeamento avançado. MyBatis elimina praticamente todo o código JDBC e a configuração manual dos parâmetros, bem como a encapsulação da pesquisa de conjuntos de resultados. MyBatis pode usar XML simples ou anotações para configuração e mapeamento original, mapeando interfaces e POJOs (Plain Old Java Objects, objetos Java comuns) para registros no banco de dados.
1Criar o projeto, importar o jar
Criar um projeto Java ou Web, importar o pacote jar do MyBatis e suas dependências, além do pacote jar do banco de dados, uso Oracle10g banco de dados
mybatis-3.2.2.jar driver core
asm-3.3.1.jar
cglib-2.2.2.jar
commons-logging-1.1.1.jar
javassist-3.17.1-GA.jar
log4j-1.2.17.jar
slf4j-api-1.7.5.jar
slf4j-log4j12-1.7.5.jar
classes12.jar Oracle10g do jar
2.Crie o arquivo de configuração central de conexão com o banco de dados sqlMapConfig.xml
Crie um arquivo sqlMapConfig.xml no diretório src
<?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> <!--Configuração de fonte de dados e ambiente--> <!--É possível configurar vários ambientes, um usado para teste e outro para produção--> <environments default="test"> <!--Ambiente de teste--> <environment id="test"> <!--Configuração de transação: transação JDBC/MANAGED, delegado ao contêiner de transação--> <transactionManager type="JDBC"></transactionManager> <!--Fonte de dados: POOLED, poolizado/Não POOLED, não poolizado/Criptografia de senha JNDI, alta segurança--> <dataSource type="POOLED"> <property name="driver" value="oracle.jdbc.OracleDriver"/> <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/> <property name="username" value="scott"/> <property name="password" value="luogg"/> </dataSource> </environment> <!--Ambiente de servidor--> <environment id="deploy"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <property name="driver" value="oracle.jdbc.OracleDriver"/> <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/> <property name="username" value="scott"/> <property name="password" value="luogg"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/luogg/mapper/PersonMapper.xml"/> </mappers> </configuration>
3.Crie uma pasta test em src e crie um arquivo TestMybatis.java
package test; import com.luogg.domain.Person; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.Test; import java.io.IOException; import java.io.InputStream; import java.util.List; /** * Criado por luogg em 2017/2/17. */ public class TestMybatis { @Test public void init() throws IOException { /** * Testar a conexão com o banco de dados * 1.Definir uma variável do tipo String chamada resource, apontando para o arquivo xml de configuração do banco de dados conectado recentemente * 2.Crie um fluxo de entrada para ler nosso arquivo de configuração de banco de dados * 3.Crie um fluxo de entrada para criar a fábrica. * 4.Abra a fábrica após obter a fábrica */ String resource = "sqlMapConfig.xml"; InputStream is = Resources.getResourceAsStream(resource); SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is); SqlSession session = factory.openSession(); }
Agora, podemos realizar testes unitários para verificar se a sessão foi criada, verde indica sucesso na criação, em seguida, vamos criar a tabela do banco de dados e escrever a instrução SQL
4.Crie o banco de dados e insira os dados
CREATE TABLE person( ID NUMBER(2), NAME VARCHAR2(20), sex NUMBER(2), age NUMBER(3) ) -- Insira os dados, clique no botão de travamento abaixo e, em seguida, clique em + SELECT * FROM person FOR UPDATE
5.Crie um pacote com.luogg.domain em src, e crie um arquivo Person.java como bean de entidade
package com.luogg.domain; /** * Criado por luogg em 2017/2/17. */ public class Person { private String name; private int sex; private int age; private int id; @Override public String toString() { return "Person{" + "name='" + name + '\'' + ", sex=" + sex + ", age=" + age + ", id=" + id + '}'; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getSex() { return sex; } public void setSex(int sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
6.Criar um arquivo de mapeamento correspondente ao banco de dados, crie um arquivo PersonMapper.xml na pasta src, em com.luogg.mapper
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!--Configuração de espaço de nomes, espaço de nomes+ .id é um identificador exclusivo de SQL--> <mapper namespace="com.luogg.mapper.PersonMapper"> <!--Consultar todos os dados, parâmetros id, resultType conjunto de resultados, parameterType parâmetro--> <!--Atenção: Se houver SQL a ser preenchido na coleção, por exemplo, consultar todos os dados, retornar um conjunto de resultados de Person, então o parâmetro resultType escreve diretamente o caminho+Tipo de coleção Por exemplo: Retornar uma coleção de Person, então preencha o caminho do Bean Person+Person--> <select id="find" resultType="com.luogg.domain.Person"> SELECT * from person </select> </mapper>
7.Fazer um mapeamento no arquivo de configuração principal sqlMapConfig.xml, para que ele reconheça nossos arquivos de configuração que escreveram SQL
<?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> <!--Configuração de fonte de dados e ambiente--> <!--É possível configurar vários ambientes, um usado para teste e outro para produção--> <environments default="test"> <!--Ambiente de teste--> <environment id="test"> <!--Configuração de transação: transação JDBC/MANAGED, delegado ao contêiner de transação--> <transactionManager type="JDBC"></transactionManager> <!--Fonte de dados: POOLED, poolizado/Não POOLED, não poolizado/Criptografia de senha JNDI, alta segurança--> <dataSource type="POOLED"> <property name="driver" value="oracle.jdbc.OracleDriver"/> <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/> <property name="username" value="scott"/> <property name="password" value="luogg"/> </dataSource> </environment> <!--Ambiente de servidor--> <environment id="deploy"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <property name="driver" value="oracle.jdbc.OracleDriver"/> <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/> <property name="username" value="scott"/> <property name="password" value="luogg"/> </dataSource> </environment> </environments> <!--arquivo de mapeamento mapper--> <mappers> <mapper resource="com/luogg/mapper/PersonMapper.xml"/> </mappers> </configuration>
8.Voltar para a classe de teste TestMybatis.java, acessar a sentença sql no arquivo de configuração e retornar o conjunto de resultados
package test; import com.luogg.domain.Person; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.Test; import java.io.IOException; import java.io.InputStream; import java.util.List; /** * Criado por luogg em 2017/2/17. */ public class TestMybatis { @Test public void init() throws IOException { /** * Testar a conexão com o banco de dados * 1.Definir uma variável do tipo String chamada resource, apontando para o arquivo xml de configuração do banco de dados conectado recentemente * 2.Crie um fluxo de entrada para ler nosso arquivo de configuração de banco de dados * 3.Crie um fluxo de entrada para criar a fábrica. * 4.Abra a fábrica após obter a fábrica * 5.Acessar a sentença SQL no arquivo de configuração através da session */ String resource = "sqlMapConfig.xml"; InputStream is = Resources.getResourceAsStream(resource); SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is); SqlSession session = factory.openSession(); //Como acessar a sentença SQL no PersonMapper.xml?&63; Espaço de nome+ .id List<Person> list = session.selectList("com.luogg.mapper.PersonMapper.find"); System.out.println(list.size()); for(Person p : list){ System.out.println(p); } } }
Resultado da Execução:
O que foi mencionado acima é o tutorial de introdução ao framework mybatis apresentado pelo editor. Espero que ajude a todos. Se você tiver alguma dúvida, por favor, deixe um comentário, o editor responderá a todos o mais rápido possível. Também estou muito grato pelo apoio ao site Tutorial de Grito!
Declaração: O conteúdo deste artigo é extraído da internet, pertencente ao autor original. O conteúdo é contribuído e carregado voluntariamente pelos usuários da internet. Este site não possui direitos de propriedade, não foi editado manualmente e não assume responsabilidade por questões legais relacionadas. Se você encontrar conteúdo suspeito de violação de direitos autorais, por favor, envie um e-mail para: notice#oldtoolbag.com (ao enviar e-mail, substitua # por @ para denunciar, e forneça provas relevantes. Apenas se confirmado, o site deletará imediatamente o conteúdo suspeito de violação de direitos autorais.)