Introdução a Mybatis
O antecessor de Mybatis era o ibatis, que era originalmente um projeto de código aberto do Apache. Em 2010, este projeto foi transferido da Apache Software Foundation para o Google Code e foi renomeado Mybatis.
Mybatis é uma excelente estrutura de camada de persistência que suporta consultas SQL simples, procedimentos armazenados e mapeamento avançado. Mybatis elimina a configuração manual de quase todo o código e parâmetros JDBC e a recuperação dos conjuntos de resultados. O Mybatis usa XML simples ou anotações para configuração e mapeamento original, interfaces de mapeamento e POJOS de Java (Planeje objetos Java Old, objetos Java comuns) nos registros no banco de dados.
As etapas a seguir são introduzidas na construção do ambiente Mybatis.
1) Apresente o pacote Mybatis-3.4.1.Jar no projeto e, em seguida, apresente o banco de dados (MySQL, MSSQL ..).
2) Crie um novo arquivo de configuração conf.xml em SRC
<? xml versão = "1.0" coding = "utf-8"?> <! Doctype Configuration public "-// mybatis.org//dtd Config 3.0 //" "http://mybatis.org/dtd/mybatis-3-config.dtduz <dtdughtghtn:7> Resource = "jdbc.properties" /> <!-Configure o ambiente operacional mybatis-> <ambientes default = "Development"> <ambiente id = "desenvolvimento"> <!-type = "jdbc" representa o uso do comprometimento do JDBC e rollback para gerenciar transações-> <transactionManager type = "JDBC" /roll! Agrupado, não-soldado, JNDI-> <!-Agrupado indica o suporte para o pool de conexão de fonte de dados JDBC-> <!-não-soldado indica não suportar o pool de conexão de fonte de dados-> <!-jnDi indica suporte para o suporte para a fonte de dados externa "{> <DataSource Type =" pool "> <nome da propriedade =" driver "value =" $ {{{ /> <propriedade name = "nome de usuário" value = "$ {nome de usuário}"/> <propriedade name = "senha" value = "$ {senha}"/> </dataSource> </ambientalAqui, as informações de armazenamento do banco de dados são armazenadas por meio de arquivos de configuração externos; portanto, é adicionada informações de armazenamento de banco de dados JDBC.Properties.
driver = com.microsoft.sqlserver.jdbc.sqlserverdriverurl = jdbc: sqlserver: //127.0.0.1; DatabaseName = testUserName = SapassWord = 123456
3) Crie um arquivo de mapeamento UsermApper.xml
<? xml versão = "1.0" Encoding = "utf-8"?> <! Usuários-> <select id = "queryusers" resulttype = "hw.com.pojo.user"> selecione * de ms_user </leclect> <selectId = "QueryUserbyId" resultType = "hw.com.pojo.user" parameterType = "int/select * de ms_user where id =###{)(Deve -se notar aqui que o atributo de espaço para nome é, porque esta instância é mapeada através de interfaces, de modo que o atributo namespace deve ser escrito como o caminho da interface) Figura anexada:
4) Crie uma classe de interface de mapeamento
pacote hw.com.ser; importar java.util.list; importar hw.com.pojo.user; interface pública iUser {public list <suser> queryusers (); Usuário público QueryUserbyId (int id);}5) Crie um SQLSessionFactory
pacote hw.com.util; importar java.io.ioException; importar java.io.inputStream; importar java.io.inputStreamReader; importar java.io.reader; importar java.util.properties; org.apache.ibatis.session.sqlSessionFactory; importar org.apache.ibatis.session.sqlSessionFactoryBuilder; public class sqlsessionFactoryUtil {private static sqlSessionFactory sqlSessionFactory = Null; Classe final estática privada Class_lock = SQLSessionFactoryUtil.class; private sqlSessionFactoryUtil () {} public static sqlSessionFactory initsqlSessionFactory () {String Resource = "conf.xml"; InputStream inputStream = null; tente {inputStream = Resources.getResourceasStream (recurso); } catch (ioexception e) {e.printStackTrace (); } sincronizado (class_lock) {if (sqlSessionFactory == null) {sqlSessionFactory = new SQLSessionFactoryBuilder (). Build (inputStream); }} retornar SQLSessionFactory; } public static sqlSession OpenSqlSession () {if (sqlSessionFactory == null) {initSqlSessionFactory (); } return sqlSessionFactory.opensssion (); }}6) Crie um pojo
pacote hw.com.pojo; importar java.util.date; public class Usuário {private string ID; Nome de usuário privado de string; String privada Userpwd; private int deptmentId; String private UsertrUename; e -mail privado de string; Private Int LearnCenterid; data privada criada; data privada lastModifyDate; privado int userstatus; public user () {super (); // TODO Construtor GOERATADO AUTOGERATO ESTUB} public String getId () {Return ID; } public void setId (string id) {id = id; } public string getUserName () {return userName; } public void setUserName (string userName) {nome de usuário = nome de usuário; } public string getUserpwd () {return userpwd; } public void setUserpwd (string userpwd) {userpwd = userpwd; } public int getDeptmentId () {return DeptmentId; } public void setDeptmentId (int dependentId) {DeptmentId = dependementId; } public string getUsertruename () {return userTruename; } public void setUserTruename (string userTruename) {userTruename = usertrUename; } public String getEmail () {retornar email; } public void setEmail (string email) {email = email; } public int getLearNCenterId () {return LearnCenterID; } public void SetlearNCenterId (int LearnCenterID) {LearnCenterID = LearnCenterID; } public data getCreatedate () {return criatedate; } public void SetCreatedate (data criado) {CreateDate = CreateDate; } public data getLastModifyDate () {return lastModifyDate; } public void setLastModifyDate (date lastModifyDate) {lastModifyDate = lastModifyDate; } public int getUserstatus () {return usestatus; } public void setUserstatus (int usestatus) {usestatus = userstatus; } @Override public String toString() { return "User [Id=" + Id + ", UserName=" + UserName + ", UserPwd=" + UserPwd + ", DeptmentId=" + DeptmentId + ", UserTrueName=" + UserTrueName + ", Email=" + Email + ", LearnCenterId=" + LearnCenterId + ", CreateDate=" + CreateDate + ", LastModifyDate = " + lastModifyDate +", usestatus = " + usestatus +"] "; }}7) Faça o teste sob o método principal
pacote hw.com.day1.main; importar java.util.list; importar org.apache.ibatis.session.sqlSession; importar hw.com.pojo.user; importar hw.com.sert.iuser; importar hw.com.util.sqsessionFactoryUtil; public classe USTest {public static vidr vidra sqlSession = null; tente {sqlSession = sqlSessionFactoryUtil.opensqlSession (); Iuser iuser = sqlsession.getmapper (iuser.class); List <suário> usuários = iuser.QueryUsers (); if (users.size ()> 0) {for (usuário do usuário: usuários) {System.out.println (user.toString ()); }}} catch (Exceção e) {e.printStackTrace (); }}}