Preparação
Para criar um novo projeto Java ou Java WWeb, você precisa importar os pacotes a seguir.
O trabalho básico foi concluído e, em seguida, começaremos a chegar ao tópico.
Crie uma nova aula de entidade
Crie uma nova classe de entidade correspondente à tabela de banco de dados
pacote com.edu.hpu.Domain; /***@Author Administrator*Classe de entidade correspondente à tabela de usuários*/public class Usuário {// Os atributos da classe Entidade e os nomes de campo da tabela correspondem ao private ID ID; nome de string privado; private Int Age; // encapsula os atributos public int getId () {return id; } public void setId (int id) {this.id = id; } public string getName () {return name; } public void setName (nome da string) {this.name = name; } public int getage () {Age de retorno; } public void setage (int Age) {this.age = Age; } // Adicione o método da tostragem @Override public string tostring () {return "user [id =" + id + ", name =" + name + ", idade =" + idade + "]"; }}Adicione a classe de ferramentas mybatis
A classe de ferramentas adicionada como mostrado abaixo,
pacote com.edu.hpu.util; importar java.io.inputStream; importar org.apache.ibatis.session.SQLSession; importar org.apache.ibatis.session.sqlSessionFactory; importar org.apache.ibatis.session.sqlSessionFactory; importar org.apache.ibatis.session.sqlSessionFactoryBuilder; classe pública mybatisutil {/** * obtenha sqlSessionFactory * @return sqlSessionFactory */public static sqlSessionFactory getSqlSessionFactory () {String Resource = "conf.xml"; // clique no arquivo de configuração IS = mybatisutil.class.gllass.cllasTLLOUNSLOTLOTLOTLOTLOTLOTR (//); SQLSessionFactory Factory = new SQLSessionFactoryBuilder (). Build (IS); fábrica de retorno; } / ** * Get SQLSession * @return sqlSession * / public static sqlSession getSqlSession () {return getsqlSessionFactory (). OpenSession (); } /** * Get SQLSession * @param isautocommit * true significa que o objeto SQLSession criado enviará automaticamente a transação após o SQL ser executado * false significa que o objeto SQLSession criado não enviará automaticamente a transação após o SQL ser executado. No momento, precisamos ligar para o sqlSession.Commit () para enviar manualmente a transação * @return sqlSession */ public static sqlSession getSqlSession (boolean isautocommit) {return getsqlsessfactory (). OpenSession (isautocomm); }}Existem dois métodos para adicionar, excluir, pesquisar e modificar dados usando o MYBATIS, nomeadamente operação de arquivo de configuração e operação de anotação.
Operação através de arquivos de configuração
O arquivo de configuração do banco de dados é o seguinte, configure as informações do banco de dados,
<? xml versão = "1.0" Encoding = "utf-8"?> <! Doctype Configuration public "-// mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3-config.dtds"> <transactionManager tipo = "JDBC" /> <!-Configurar informações de conexão do banco de dados-> <DataSource type = "pooled"> <propriedade name = "driver" value = "com.mysql.jdbc.driver" /> <name da propriedade = "url" value = "jdbc: mysql: // localhost: 3306/teste? useUnicode = true & caracterEncoding = utf-8 & zerodateTimeBeHavior = converttonull"/> <nome da propriedade = "username" value = "root"/> <names = "senha" = "admin"/</> </datnas " O arquivo UsermApper.xml, UsermApper.xml está localizado no pacote com.edu.hpu.mapping, portanto, o recurso é escrito como COM/EDU/HPU/MAPPING/UsermApper.xml-> <pappper Resource = "Com/Edu/Hpu/maping/usemerpper.xml"/<!
Configure o arquivo de instrução do banco de dados de operação como mostrado abaixo,
<? xml versão = "1.0" Encoding = "utf-8"?> <! <!- Escreva instruções SQL de consulta na tag Selecionar, defina o atributo ID da tag Selecionar como getUser. O valor do atributo de identificação deve ser único. O atributo ParameterType não pode ser reutilizado para indicar o tipo de parâmetro usado na consulta. O atributo ResultType indica o tipo de conjunto de resultados retornado pela consulta resulttype = "com.edu.hpu.domain.user" significa que o resultado da consulta é encapsulado em um objeto da classe de usuário e retorna para a classe de usuário, que é a classe de entidade correspondente à tabela de usuários-> <!-obtenha um objeto de usuário baseado na identificação-> <leclect Id) ResultType = "com.edu.hpu.domain.user"> selecione * de usuários onde id =#{id} </select> <!-Crie User (Create)-> <insert id = "addUser" parameterType = "com.edu.hpu.ain.Userserd, insert##) (names) (names) (#{{{! (Remover)-> <delete id = "DeleteUser" ParameterType = "int"> Excluir dos usuários onde id =#{id} </delete> <!-modificar User (update)-> <update id = "updateUser" parameterType = "com.edu.hpu.domain.User">###{{{{{{{{{) updre#)###############{{com.edu.hpu.domain.user####) </atualize> <!-consulte todos os usuários-> <select id = "getAllUsers" resulttype = "com.edu.hpu.domain.user"> selecione * dos usuários </leclect> </mapper> A adição, exclusão e revisão do banco de dados por meio de arquivos de configuração foi basicamente concluída. Em seguida, a classe de teste é dada.
Os testes podem ser realizados como mostrado abaixo,
pacote com.edu.hpu.test; importar java.util.list; importar com.edu.hpu.domain.user; importar com.edu.hpu.util.mybatisutil; importar org.junit.test; importar org.apache.ibatis.session.SQLSession; classe pública test2 {@test public void testadd () {// sqlSession sqlSession = mybatisutil.getSqlSession (false); SqlSession sqlSession = mybatisutil.getSqlSession (true); / ** * Map SQL Identification String, * com.edu.hpu.mapping.userMapper é o valor do atributo namespace da tag de mapeador no arquivo UserMApper.xml, * addUser é o valor do atributo ID da tag Insert */ String e o SQL a ser executado pode ser encontrado através do valor de atributo do ID da tag insert * "com.edu.hpu.mapping.usermapper.adduser"; // mapa sql identificação string user = new user (); user.setName ("novo usuário xiaohuang"); user.setage (20); // Execute a Operação Inserir int Recresult = SQLSession.insert (Declaração, Usuário); // enviar manualmente transações // sqlsession.Commit (); // depois de executar o SQL usando o SQLSession sqlSession.Close (); System.out.println (Recresult); } @Test public void testUpDate () {sqlSession sqlSession = mybatisutil.getSqlSession (true); /** * Map SQL Identification String, * com.edu.hpu.mapping.userMapper é o valor do atributo namespace da tag de mapeador no arquivo UserMApper.xml, * UpdateUser é o valor do atributo de identificação da tag de atualização. O SQL a ser executado pode ser encontrado através do valor do atributo de ID da tag de atualização */String declaration = "com.edu.hpu.mapping.userMapper.updateUser"; // mapeando o usuário do usuário da string sql = novo usuário (); user.setId (3); user.setName ("Hello World"); user.setage (25); // Execute a operação de modificação int Recresult = sqlSession.Update (instrução, usuário); // Depois de executar o SQL com o SQLSession, você precisa fechar o SQLSession sqlSession.Close (); System.out.println (Recresult); } @Test public void testDelete () {sqlSession sqlSession = mybatisutil.getSqlSession (true); / ** * Map SQL Identification String, * com.edu.hpu.mapping.userMapper é o valor do atributo de espaço para nome da tag de mapeador no arquivo UserMApper.xml, * DeleteUser é o valor do atributo de identificação da tag de exclusão */ sql a ser executado "com.edu.hpu.mapping.usermapper.deleteuser"; // mapeando a string de identificação do SQL // execute uma operação de delete int recesult = sqlsession.delete (declaração, 4); // depois de executar o SQL usando o SQLSession sqlSession.Close (); System.out.println (Recresult); } @Test public void testGetall () {sqlSession sqlSession = mybatisutil.getSqlSession (); /** * Mapeando a sequência de identificação do SQL, * com.edu.hpu.mapping.userMapper é o valor do atributo namespace da tag de mapeador no arquivo UserMApper.xml. * getAllUsers é o valor do atributo de identificação da tag Selecionar. O SQL a ser executado pode ser encontrado através do valor do atributo de ID da tag Select */String declaration = "com.edu.hpu.mapping.userMapper.getAllUsers"; // mapeando a SQL Identity string // Execute a operação de consulta e encapsula automaticamente o resultado da consulta na lista <usert> list <usuário> lSTERSSs = sq; // Depois de executar o SQL com o SQLSession, você precisa fechar o SQLSession sqlSession.Close (); System.out.println (lstusers); }}Operação através de anotações
A operação por meio de anotações requer a gravação de uma interface, mas não precisa ser implementada, como mostrado abaixo.
pacote com.edu.hpu.mapping; importar java.util.list; importar com.edu.hpu.domain.user; importar org.apache.ibatis.annotações.delete; importar org.apache.ibatis.annotações.insert; importar org.apache.ibatis.annotações.Select; importar org.apache.ibatis.annotações.update; /** * @author gacl * Define the interface for SQL mapping, specify the SQL to be executed using annotations */ public interface UserMapper_11 { //Use the @Insert annotation to specify the SQL to be executed by the add method @Insert("insert into users(name, age) values(#{name}, #{age})") public int add(User user); // Use a anotação @Delete para especificar o SQL a ser executado pelo método DeletebyId @Delete ("Excluir dos usuários onde id =#{id}") public int DeLeteById (int id); // Use a anotação @Update para especificar o SQL a ser executado pelo método de atualização @update ("Atualizar usuários Definir nome =#{name}, AGE =#{AGE} onde id =#{id}") public int update (usuário do usuário); // Use a anotação @Select para especificar o SQL para executar o método getByID @select ("Selecione * FROM USUERS WHED =#{id}") public User GetById (int id); // Use a anotação @Select para especificar o SQL para executar o método getAll @select ("selecione * FROM USUERS") LISTA Public <suser> getall (); }Ao mesmo tempo, você precisa adicionar a interface escrita ao arquivo de configuração do banco de dados e adicionar a seguinte instrução em conf.xml.
<Mapper/>
OK, ele foi basicamente concluído, aqui está a classe de teste que pode ser testada.
pacote com.edu.hpu.test; importar java.util.list; importar com.edu.hpu.domain.user; importar com.edu.hpu.mapping.userMapper_11; importar com.edu.hpu.util.mybatisutil; importar org.apache.ibatis.session.SQLSession; importar org.junit.test; / ***@Author Administrator*Test Anotation*/ public class Test3 {@test public void testadd () {sqlSession sqlSession = mybatisutil.getSqlSession (true); // Obtenha o objeto da classe de implementação da interface UserMApper. O objeto de classe de implementação da interface UserMApper é construído dinamicamente pelo SQLSession.getMapper (UserMApper.class). UserMApper_11 Mapper = SQLSession.GetMapper (UserMApper_11.class); Usuário do usuário = novo usuário (); user.setName ("Grande sabedoria é tola"); user.setage (20); int add = mapper.add (usuário); // O SQLSession precisa ser fechado após a execução do SQL com o SQLSession sqlSession.Close (); System.out.println (add); } @Test public void testUpDate () {sqlSession sqlSession = mybatisutil.getSqlSession (true); // Obtenha o objeto da classe de implementação da interface UserMApper. O objeto da classe de implementação da interface UserMApper é construído dinamicamente por sqlsession.getmapper (userMapper.class) userMApper_11 mapper = sqlsession.getmapper (userMapper_11.class); Usuário do usuário = novo usuário (); user.setId (3); user.setName ("Big Sound and Sound"); user.setage (26); // execute a operação de modificação int recresult = mapper.update (usuário); // Depois de executar o SQL usando o SQLSession, você precisa fechar o SQLSession sqlSession.Close (); System.out.println (Recresult); } @Test public void testDelete () {sqlSession sqlSession = mybatisutil.getSqlSession (true); // Obtenha o objeto da classe de implementação da interface UserMApper, e o objeto de classe de implementação da interface UserMApper é construído dinamicamente por sqlsession.getmapper (userMapper.class) userMapper_11 mapper = sqlsession.getmapper (userMapper_11.class); // Execute a Operação Excluir int Recresult = Mapper.DeleteById (7); // Depois de usar o SQLSession para executar o SQL, você precisa fechar o SQLSession sqlSession.Close (); System.out.println (Recresult); } @Test public void testGetUser () {sqlSession sqlSession = mybatisutil.getSqlSession (); // Obtenha o objeto da classe de implementação da interface UserMApper. O objeto da classe de implementação da interface UserMApperi é construído dinamicamente por sqlsession.getmapper (userMApper.class) userMApper_11 mapper = sqlsession.getmapper (userMapper_11.class); // Execute a operação de consulta e encapsula automaticamente o resultado da consulta no usuário do usuário usuário usuário = mapper.getById (1); // Depois de usar o SQLSession para executar o SQL, você precisa fechar o SQLSession sqlSession.Close (); System.out.println (usuário); } @Test public void testGetall () {sqlSession sqlSession = mybatisutil.getSqlSession (); // Obtenha o objeto da classe de implementação da interface UserMApper. O objeto da classe de implementação da interface UserMApper é construído dinamicamente por sqlsession.getmapper (userMapper.class) userMApper_11 mapper = sqlsession.getmapper (userMapper_11.class); // Executa operações de consulta e encapsula automaticamente os resultados da consulta na lista <suser> Lista de retorno <suser> lstusers = mapper.getall (); // Depois de usar o SQLSession Execution SQL, você precisa fechar o SQLSession sqlSession.Close (); System.out.println (lstusers); }}O exposto acima é uma explicação detalhada da implementação do Mybatis da adição de dados, exclusão e revisão que o editor apresentou a você. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a tempo. Muito obrigado pelo seu apoio ao site wulin.com!