Não aprendi coisas novas há um tempo. Depois de 1º de outubro, sinto que quanto mais cedo faço as coisas, melhor. Não vou dizer muita bobagem. Vamos falar sobre o uso do MyBatis para conectar -se ao banco de dados MySQL. No artigo anterior, escrevi testes JDBC e minhas tabelas de banco de dados ainda são as mesmas. Como a maioria das informações que pesquisei on -line é o eclipse, pois estou acostumado a IDEs, vim aqui com muitos problemas.
Dê uma olhada na estrutura de engenharia
Deixe -me falar sobre o código Java primeiro. DAO é a interface de consulta, o modelo é o XML de Ben e a instrução de consulta correspondente. Eu sinto que isso é um pouco ruim. User.xml é melhor no DAO. Você saberá depois de entender. Como sou iniciante, não entendo muito muitas coisas. Uma definição razoável de pacote será fornecida posteriormente.
Eu usei o teste para isso
Vamos falar sobre recursos, a configuração é um arquivo de configuração, o Log4J é uma impressão de log e outros não podem ser usados por enquanto.
Vamos dar uma olhada no código, eu o darei na ordem de criação de arquivos.
Primeiro, é preciso haver um objeto, que é construído de acordo com o banco de dados
user.java
pacote com.fanyafeng.model; importar java.util.date;/*** Autor: fanyafeng* Dados: 16/10/11 14: 56* E -mail: [email protected]**/public class User {private ID ID; private string username; private date aniversário; sexo privado; id;} public string getUserName () {retorna nome de usuário;} public void setUserName (string userName) {this.username = nome de usuário;} public date getBirthday () {return aniversário;} public string (public string) (date) {this.birthday =}; {this.sex = sexo;} public string getAddress () {return endereço;} public void setAddress (endereço da string) {this.address = endereço;}@substituirpublic string tostring () {return "user {" + "id =" + + ", ustername = '" + username + "'/ + ", endereço = '" + endereço +'/'' + '}';}}
iuserdao.java
pacote com.fanyafeng.dao; importar com.fanyafeng.model.user; importar java.util.list;/*** Autor: fanyafeng* Dados: 16/10/11 14: 55* Email: [email protected]*/public interface iuserdao {list <vsery> sibery> sibery> void add (); public void del (int id); public void alter (int id);}
user.xml
<? xml versão = "1.0" coding = "utf-8"?> <! Doctype mapepper public "-// mybatis.org//dtd mapper 3.0 //" "http://mybatis.org/dtd/mybatis-3-mapper.dtd <! namespace = "com.fanyafeng.dao.userdao"> <select id = "selectUSerbyId" parameterType = "int" resultType = "com.fanyafeng.model.user"> selecione * do usuário onde o id = #{id} </select> <!-'%s {}' '' ' injeção-> <select id = "QueryUserByName" parameterType = "string" resultType = "com.fanyafeng.model.user"> selecione * do usuário onde o nome de usuário como #{name} </select> <! ParameterType = "com.fanyafeng.model.user"> inserir no usuário (id, nome de usuário, aniversário, sexo, endereço) valores (#{id},#{nome de usuário},#{aniversário},#{sex},#{endereço}) </insert> <//mapper>Usertest.java
pacote com.fanyafeng.test; importar com.fanyafeng.model.user; importar org.apache.ibatis.io.resources; importar org.apache.ibatis.session.sqlSession; import org.apache.ibatis.session.Session.Session.SessFactory; org.apache.ibatis.session.sqlSessionFactoryBuilder; importar java.io.ioException; importar java.io.Reader; importar java.util.date; importar java.util.list;/*** autor: fanyafeng* dados: 16/10/11/11/14: 58* eailt; SqlSessionFactory sqlSessionFactory; Reader de estático privado; estático {try {reader = Resources.getResourCeasReader ("Configuration.xml"); sqlSessionFactory = new SQLSessionFactoryBuilder (). main (string [] args) {sqlSession sqlSession = sqlSessionFactory.opensssion (); try {// usuário user = (user) sqlsession.selectone ("com.fanyafeng.dao.iuserdao.selectUSerById", 2); // System.Tao.PrintLnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnN (usesectUsEDAD); user.getBirthday ()); // System.out.println (user.getId () + user.getUserName ()); //// list <user> userList = sqlsession.selectList ("com.fanyafeng.dao.iuserdao.QueryUserByName", "Li Ningn%"); para (int i = 0; i <userList.size (); i ++) {System.out.println (userlist.get (i) .toString ());} usuário user = new user (); userStr.setId (100); user.set.setBirthday (new date ()); agachamento "); int isadd = sqlsession.insert (" com.fanyafeng.dao.iuserdao.add ", usuário); sqlsession.Commit (); // Não se esqueça} finalmente {sqlsession.close ();}}}}}}}Configuration.xml
<? xml versão = "1.0" Encoding = "utf-8"?> <! pode ser omitido aqui-> <!-<typeAlias alias = "user" type = "com.fanyafeng.model.user"/>-> <!-</ty typeAliases>-> <!-</typeAliases>-> <!-Ambiente de configuração Após a integração com a mola, será abolida-> <ambientes default = "desenvolvimento"> -> <transactionManager tipo = "jdbc"/> <!-Pool de conexão com o banco de dados-> <DataSource type = "pooled"> <propriedade name = "driver" value = "com.mysql.jdbc.driver"/> <names name = "url" = "jdbc:? name = "nome de usuário" value = "root"/> <propriedade name = "senha" value = "" // </datasource> </ambiental
Para Log4J, adicione -o de acordo com seus hobbies. Os comentários no código são escritos em detalhes, para que não entre em detalhes. Há um lugar aqui que me faz sentir muito frustrado. Pedi a um ótimo mestre para saber o que aconteceu. Existe um diretório de destino na captura de tela. Este é o local de armazenamento para os arquivos compilados. No entanto, a questão é: onde o arquivo Java será compilado e colocado. No entanto, o arquivo XML sem recursos não foi colocado e uma exceção foi expulsa. Verifiquei muitas informações e respondi à pergunta. Então eu resolvi assim e olhei para o arquivo pom.xml. Depois que eu mudei, adicionei a tag de compilação.
<Projeto xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-inStance" xsi: schimalocation = "http:/mlshemance" xsi: schimalocation = "http:/mlshemance" xsi: schimalocation = "http:/mlshemance" xsi: schimalocation = "http://mls http://maven.apache.org/maven-v4_0_0.xsd "> <ModelVersion> 4.0.0 </modelversion> <voundid> com.fanyafeng </groupid> < ArtifactId> mybatisdemo </stutifactId> <batyaging> war </chanceling> <versão> 1.0-snapshot </version> <name> mybatisDemo Maven WebApp </name> <url> http://maven.apache.org </url> <bruct> <finname> mybatisdemo </linName> <werends> <wered> <lorce> <Directory> src/mai n/Recursos </Directory> <inclui> <cluir> **/*. xml </b no incluir> <cluir> **/*. Propriedades </incluir> </inclui> </Resource> <lectorce> < directory>src/main/java</directory><includes><include>**/*.xml</include></includes></resource></resources></build><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java-> <pendency> <puperid> mysql </foupid> <TorfactId> mysql-connector-java </artifactid> <versão> 5.1.38 </siedy> </dependência https://mvnrepository.com/artifact/org.mybatis/mybatis-> <pendency> <voundid> org.mybatis </groupiD> <TrAtifactId> mybatis </Artifactid> <versão> 3.2.8 </versão </dependence> <!- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12-> <pendency> <puperid> org.slf4j </groupiD> <TRAFACTID> slf4j-log4j12 </artifactid> <sipers> 1.7.21 </versão> https://mvnrepository.com/artifact/org.slf4j/slf4j-api-> <pendency> <voundid> org.slf4j </groupiD> <TorfactId> slf4j-api </artifactid> <versão 1.7.21 </versão> </dependência> </dependência> <-EPENDENCIMENTE> <- https://mvnrepository.com/artifact/log4j/log4j-> <pendency> <puperid> log4j </groupiD> <TROTIFACTID> log4j </ArtifactId> <versão> 1.2.17 </versão </dependency> <!-!-!- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core --><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.5</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api-> <pendency> <puperid> org.apache.logging.log4j </groupid> <stifactId> log4j-api </stifactid> <versão> 2,57 2 </versão </versão </roupid> <stifactid> log4j-api </stifactid> <versão> 2.577.572 </groupid> <stifactid> log4j-api </stifactid> <versão> 2,57 2 </versão> </versão </groupid> <stifactId> log4j-api </artefactid> <versão> 2.577.5.. https://mvnrepository.com/artifact/org.javassist/javassist-> <pendency> <voundiD> org.javassist </foupid> <TRARFACTID> javassist </stutifactId> <versão> 3.18.1-ga </sipers> </dependência> <!- https://mvnrepository.com/artifact/commons-logging/commons-logging-> <pendency> <puperid> commons-logging </groupid> <stifactId> commons-loggging </artifactId> <versão 1.1.1 </version> </dependency/!-https:/ httiB/s.com/clitiB -> <Depencency> <voupId> cglib </frupid> <stifactId> cglib </sutifactId> <versão> 2.2.2 </version> </dependency> <!-https://mvnrepository.com/artifact/asm/asm -> <Depencency> <voupId> ASM </GroupId> <TarifactId> ASM </ArtifactId> <versão> 3.3.1 </version> </dependency> </dependências> </Project>
Isso é suficiente, implementei a pesquisa e a adição aqui, e outras coisas estão sendo estudadas.
O exposto acima é a conexão Intellij Mybatis com o banco de dados MySQL introduzido pelo editor. Espero que seja útil para todos. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a todos a tempo. Muito obrigado pelo seu apoio ao site wulin.com!