Introdução a Mybatis
Mybatis é uma excelente estrutura de camada de persistência que suporta consultas SQL simples, procedimentos armazenados e mapeamento avançado. Mybatis elimina as configurações manuais de quase todo o código e parâmetros JDBC e pesquisam conjuntos de resultados. Mybatis pode usar XML simples ou anotações para configuração e mapeamento original para mapear interfaces e Pojos de Java (objetos Java antigos simples) em registros no banco de dados.
Mybatis Download: https://github.com/mybatis/mybatis-3/releases
Instância mybatis
Operação CRUD em uma tabela de usuários:
Tabela de usuários:
--------------------------------- Tabela Tabela para `User`-- ---------------------------------- Tabela Se existe` User`; Crie Tabela `User` (` ID` int (11) não nulo Auto_increme, `Username`ar 'VARCHAR (50) Null,` Userage` Int (11) Defeult Null, `UserTe Mecanismo = innodb auto_increntry = 6 charset padrão = utf8;----------------------------- REGISTROS DO USUÁRIO-- -------------------------------insira-se em `user` ('1', 'verão', '30,' shanghai '); 'Test1', '29', 'algum lugar'); insira em `user 'valores (' 4 ',' lu ',' 28 ',' algum lugar '); inserir em` user` (' 5 ',' xiaoxun ',' 27 ',' nanjing '); Crie um mybatis xml Configuration File Configuration.xml <? Xml versão = "1.0" coding = "utf-8"?> <! 3.0 // pt "" http://mybatis.org/dtd/mybatis-3-config.dtd "> <figuration> <!-mybatis alias definição-> typeAliass> <typeAlias alias =" user = "com.mybatis.Test.erSt.ERSTELIAS" id = "Desenvolvimento"> <transactionManager tipo = "jdbc"/> <dataSource type = "pooled"> <propriedade name = "driver" value = "com.mysql.jdbc.driver"/> <nome da propriedade = "url" value = "jdbc: mysql: //127.0.0.1: 3306: 3306/" value = "root"/> <propriedade name = "senha" value = "admin"/> </dataSource> </ambiente> </ambientes> <!-arquivo de mapeador mybatis, cada arquivo de configuração XML corresponde a uma interface-> <Mappers> <mapper Resource = "com/mybatis/teste/user.xml"/> <mapers> Definir arquivo de configuração do usuário do User.xml
<? xml versão = "1.0" coding = "utf-8"?> <! namespace = "com.mybatis.test.iSERoperation"> <!-selecione Declaração-> <select id = "selectUserById" ParameterType = "int" resultType = "User"> Selecione * do `User 'Where User.id = #{Id} </select> <!-O definido ResultMap Solve pode <resultMap type = "user" id = "userResultmap"> <id de propriedade = "id" column = "user_id" /> <Result Property = "UserName" column = "user_username" /> Result Property = "Userage" Column = "User_Userrage" /> Result ("UserAdLressLEsts" Colmon = " A lista, observe que o valor do resultado aponta para o definido anteriormente-> <!-<select id = "selectUsersByName" ParameterType = "String" resultMap = "userResultMap"> selecione * do usuário onde usersbyName = #{userName} </select>-> <select ID = "SelectUsByName") user.username = #{nome de usuário} </leclect> <!-Seleção SQL Declaração que executa uma operação de aumento. O ID e o ParameterType são os mesmos que o nome e o tipo de parâmetro do método Adduser na interface IUSEREROPERAÇÃO. O UseGeneratedKeys definido como "true" indica que o Mybatis deseja obter a chave primária gerada automaticamente pelo banco de dados; keyProperty = "ID" especifica a injeção do valor da chave primária obtida na propriedade ID do usuário -> <inserir id = "adduser" parametertype = "user" usegeneratedkeys = "true" keyproperty = "id"> insert no usuário (nome de usuário, usuário, usuário, useddress)##{USERNAME},},#, {userage, userAgdress) ({USERNAME},}, {userage, userAgdress) ({USERNAME},}, {userAddress)##{USERNAME},#,#{userage, usesterRage) (userAddress) (USERDR) (USERNAME {USERNAME}, {USERAGDRESS) </insert> <update id = "updateUser" parametertype = "user"> atualize o usuário defina nome de usuário =#{nome de usuário}, userage =#{userage}, userAddress =#{userAddress} onde id =#{id} </update> <delete id = "DeLeteUSer" ParamettypenPe = " id =#{id} </lete> </mapper> O arquivo de configuração implementa a relação de mapeamento entre interfaces e instruções SQL. O SelectUsersByName usa dois métodos para implementá -lo. Comentado também é uma implementação. O uso do ResultMap pode definir o relacionamento de mapeamento entre o atributo e o nome da coluna do banco de dados. A propriedade é de propriedade da classe, a coluna é o nome da coluna da tabela, ou pode ser um alias para o nome da coluna da tabela!
Definição da classe do usuário:
pacote com.mybatis.test; public class Usuário {private int id; private string userName; private int userage; private string userAddress; public int getId () {return id;} public void setId (int id) {this.id.id = id;} public string getUserName () {return username;} public vid sToTern getUSerAge () {return Useragem;} public void setUSERAGE (Int UserAge) {this.UserAge = Useragem;} public String getUserAddress () {return userAddress;} public void setUserAddress (string userAddress) {this.UserRAdLressLEST = userAddDReDDREDRIDEPUrnidePUrnidePUrd (stringDR) @St) "+this.UserAge+" "+this.Useraddress;}} Definição de IuserOperaton:
pacote com.mybatis.test; importar java.util.list; interface pública IUSEREROPERAÇÃO {public user SelectUSerById (int id); list public <suser> selectUsersByName (string userName); public void addUser (usuário do usuário); public void (usuário); public void DeLeteer (int id); A IUSEREROPERAÇÃO corresponde à interface de operação, nome da função e nome do ID da operação no arquivo de configuração XML do Mybatis.
Teste da aula de teste:
pacote com.mybatis.test; importar java.io.Reader; importar java.util.list; importar org.apache.ibatis.io.resources; importar org.apache.ibatis.session.sqlSession; import org.apache.ibatis.sessisislatAporn; importação; importação; importação; org.apache.ibatis.session.sqlSessionFactoryBuilder; Public Class Test {private estático SQLSessionFactory SQLSessionFactory; Reader STATRATER STATION; (Exceção e) {E.PrintStackTrace ();}} public static sqlSessionFactory getSession () {return sqlSessionFactory;} public void getUserById (int userID) {sqlSession session = sqlSessionFactory.openssion (); tentativa {iUSoRoperation. userOperation.SelectUserById (UserID); if (user! = null) {System.out.println (user.getId () + ":" + user.getUserName () + ":" + user.getUserAddress ());}} finalmente {session.Close ();}} public Void ()); sqlSessionFactory.opensssion (); tente {iuserRoperation userOperation = session.getMapper (iuseRoperation.class); list <suser> users = userOperation.SelectUsersByName (username); para (usuário do usuário: usuários) {System.out.println (user.getId () + "" user.getUserAddress ());}} finalmente {session.close ();}}/*** Após a adição, commit*/public void addUser () {user user = new user (); user.setUSeraddress ("Place"); user.setUserName ("Test_add"); SEUSTUSTERARAGE (30); {IuserRoperation userOperation = session.getMapper (iuserRoperation.class); userOperation.adduser (user); session.Commit (); System.out.println ("Adicione ID do usuário:" + user.getId ());} finalmente {session.close ();}}/*** depois de modificação*); = sqlSessionFactory.opensssion (); tente {iuserRoperation userOperation = session.getMapper (iuserRoperation.class); usuário user = userOperation.SelectUSerById (1); if (useroPer); {session.close ();}}/*** Após a exclusão, commit.** @param id*/public void DeLeteUser (int id) {SQLSession Session = sqlSessionFactory.openssion (); try {iuseRoperation userOperation = session.getMapper (iURoperation.Cl); {session.close ();}} public static void main (string [] args) {try {test test = new test (); // test.getUserById (1); // test.getUserlist ("test1"); // test.adduser (); // test.updateUSer (); {System.out.println (e.getMessage ());}}}O exposto acima é o código de exemplo de implementação mybatis de adição, exclusão, modificação e consulta (CRUD) apresentada a você pelo editor. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!