No he aprendido cosas nuevas por un tiempo. Después del 1 de octubre, siento que cuanto antes hago cosas, mejor. No diré muchas tonterías. Hablemos de usar MyBatis para conectarse a la base de datos MySQL. En el artículo anterior, escribí pruebas JDBC, y mis tablas de base de datos siguen siendo las mismas. Dado que la mayor parte de la información que busqué en línea es eclipse, ya que estoy acostumbrado a IDES, vine aquí con muchos problemas.
Echa un vistazo a la estructura de ingeniería
Déjame hablar primero sobre el código Java. DAO es la interfaz de consulta, el modelo es el XML de Ben y la declaración de consulta correspondiente. Siento que esto es un poco malo. User.xml es mejor en DAO. Sabrás después de que lo entiendas. Como soy un principiante, no entiendo mucho muchas cosas. Más adelante se dará una definición razonable de paquete.
Usé la prueba para ello
Hablemos de recursos, la configuración es un archivo de configuración, LOG4J es una impresión de registro y otros no pueden usarse por el momento.
Echemos un vistazo al código, te lo daré en el orden de crear archivos.
Primero, debe haber un objeto, que se construye de acuerdo con la base de datos
user.java
paquete com.fanyafeng.model; import java.util.date;/*** Autor: Fanyafeng* Data: 16/10/11 14: 56* Correo electrónico: [email protected]*/public class user {private int id; string private string username; private string string sex; privado dirección; id;} public String getUsername () {return username;} public void setUsername (string username) {this.Username = username;} public date getBirthday () {return birthrucy;} public void setBirthday (fecha) {this.birthay = birthday;} public string getsex () {return sex;} public void birthday) {this.sex = sex;} public String getAddress () {dirección de retorno;} public void setAddress (dirección de cadena) {this.address = dirección;}@overRidePublic String toString () {return "user {" + "id =" + id + ", usernameM + ", dirección = '" + dirección +'/'' + '}';}}
iuserdao.java
paquete com.fanyafeng.dao; import com.fanyafeng.model.user; import java.util.list;/*** Autor: Fanyafeng* Datos: 16/10/11 14: 55* Correo electrónico: [email protected]*/public Interface IUSerDao {Public LISTSETROW add (); public void del (int id); public void alter (int id);}
user.xml
<? xml versión = "1.0" encoding = "utf-8"?> <! Doctype mapper public "-// mybatis.org//dtd mapper 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper.dtdd"> <!-resultante especificaciones de un solo récord de retorno- namespace = "com.fanyafeng.dao.iuserdao"> <select id = "selectUserByid" ParametType = "int" resultType = "com.fanyafeng.model.user"> select * de usuario donde id = #{id} </select> <!-'%$ {valor} "significa que el estilón de sql puede ser usado solo puede ser utilizado solo, que solo se puede usar Sql, que solo puede usar Sql, que solo puede usar Sql, significa que el estilón de Sql solo puede usar Sql, que solo puede usar Sql, que solo puede usar. inyección-> <select id = "queryUserByName" parametertype = "string" resultType = "com.fanyafeng.model.user"> select * del usuario del usuario donde username como #{name} </select> <!-Insertar en el usuario (id, nombre de usuario, sexo, dirección) valor (null, "chen xiaoran", "femenino", "compañero de clase", "compañero de clase") parametertype = "com.fanyafeng.model.user"> Insertar en el usuario (id, nombre de usuario, cumpleaños, sexo, dirección) valores (#{id},#{username},#{birthday},#{sex},#{dirección}) </sert> </mapper>usertest.java
paquete com.fanyafeng.test; import com.fanyafeng.model.user; import org.apache.ibatis.io.resources; import org.apache.ibatis.session.sqlsession; import org.apache.ibatis.session.sqlsessionFactory; import org.apache.ibatis.session.sqlsession; org.apache.ibatis.session.SqlSessionFactoryBuilder; import java.io.ioxception; import java.io.reader; import java.util.date; import java.util.list;/*** Autor: Fanyafeng* Data: 16/10/11: 58* Correo electrónico: fanyafeng@live SqlSessionFactory sqlSessionFactory; private static lector lector; static {try {lector = recursos.getResourCeaseReader ("Configuration.xml"); sqlsessionFactory = new SqlSessionFactoryBuilder (). Build (Reader); args) {sqlSession sqlSession = sqlsessionFactory.opensession (); try {// user user = (user) sqlsession.selectone ("com.fanyafeng.dao.iuserdao.selectuserByid", 2); // system.println (user.getaddress () + user.getsex () +) user.getBirthday ()); // system.out.println (user.getid () + user.getUsername ()); //// list <serer> userList = sqlsession.selectList ("com.fanyafeng.dao.iuserdao.QueryUserByName", "%li ning%");; for (int i = 0; i <userList.size (); i ++) {system.out.println (userList.get (i) .ToString ());} user user = new user (); user.setid (100); user.setBirthay (nuevo date ()); user.setuserName ("li ning"); squat "); int isadd = sqlsession.insert (" com.fanyafeng.dao.iuserdao.add ", usuario); sqlsession.commit (); // no olvides} finalmente {sqlsession.close ();}}}configuración.xml
<? xml versión = "1.0" encoding = "utf-8"?> <! DocType ConfigurationPublic "-// mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3config.dtd"> <Configuration> Aquí-> <!-<typealias alias = "user" type = "com.fanyafeng.model.user"/>-> <!-</typealiases>-> <!-</typealiases>-> <!-La configuración de los entornos después de la integración con primavera será abolido-> <entornos predeterminado = "desarrollo"> <ID de entorno de entorno = "desarrollo" type = "JDBC"/> <!-Database Connection Pool-> <DataSource type = "agrupado"> <propiedad name = "controlador" value = "com.mysql.jdbc.driver"/> <propiedad name = "url" valor = "jdbc: mysql: // localhost: 3306/mybatis? value = "root"/> <propiedad name = "contraseña" value = "" // </shasource> </balindment> </entornments> <mappers> <mapper resource = "com/fanyafeng/model/user.xml" // </mappers> </figuration>
Para log4j, agrégalo de acuerdo con sus pasatiempos. Los comentarios en el código se escriben en detalle, por lo que no entraré en detalles. Aquí hay un lugar que me hace sentir muy frustrado. Le pedí a un gran maestro que supiera qué pasó. Hay un directorio objetivo en la captura de pantalla. Esta es la ubicación de almacenamiento para los archivos compilados. Sin embargo, la pregunta es, ¿dónde se compilará y colocará el archivo Java? Sin embargo, el archivo XML sin recurso no se puso, y se expulsó una excepción. Revisé mucha información y respondí la pregunta. Luego lo resolví así y miré el archivo pom.xml. Después de cambiarlo, agregué la etiqueta de compilación.
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0. http://maven.apache.org/maven-v4_0_0.xsd "> <modelVersion> 4.0.0 </modelversion> <MoupRoMID> com.fanyafeng </groupid> < ArtifactId> MyBatisDemo </arfactid> <compainete> war </packaging> <versión> 1.0-snapshot </versión> <name> myBatisDemo Aturdir WebApp </name> <URL> http://maven.apache.org </sl> <struct> <finalName> myBatisDemo </ finalName> <Resources> <Resource> <Directory> SRC/Mai n/recursos </directorio> <incluye> <én> **/*. xml </clice> <incluye> **/*. Propiedades </incluido> </cluye> </ recursos> <contrato> < Directorio> src/main/java </directorio> <incluye> <clice> **/*. xml </cluye> </clusions> </resource> </rumsured> </buply> <pendencies> <spendency> <proupid> junit </groupid> <artifactid> junit </factid> <produce> 3.8.1 </lipeers> <cope> test </scope> </scope> https://mvnrepository.com/artifact/mysql/mysql-connector-java-> <pendency> <MoupRoid> mysql </proupid> <artifactid> mysql-connector-java </artifactid> <version> 5.1.38 </lotion> </pendency> <!- https://mvnrepository.com/artifact/org.mybatis/mybatis-> <pendency> <MoupRid> org.mybatis </proupid> <artifactid> myBatis </arfactid> <version> 3.2.8 </versión> </dependencia> <! https://mvnrePository.com/artifact/org.slf4j/slf4j-log4j12-> <pendency> <proupid> org.slf4j </groupid> <artifactid> slf4j-log4j12 </artifactid> <versión> 1.7.21 </lapeers> </spendency> <! https://mvnrepository.com/artifact/org.slf4j/slf4j-api-> <pendency> <MoupRoid> org.slf4j </proupid> <artifactid> slf4j-api </artifactid> <versión> 1.7.21 </versión> </spendency> <!--------------------------------) https://mvnrepository.com/artifact/log4j/log4j-> <pendency> <MoupRoD> log4j </groupid> <artifactid> log4j </arfactid> <versión> 1.2.17 </versión> </dependencia> <!-! https://mvnrePository.com/artifact/org.apache.logging.log4j/log4j-core-> <pendency> <MoupRupid> org.apache.logging.log4j </groupid> https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api-> <pendency> <Mouprupid> org.apache.logging.log4j </proupid> <artifactid> log4j-api </artifactid> <versión> 2.5 </versión> </spendency> <! https://mvnrepository.com/artifact/org.javassist/javassist-> <pendency> <proupid> org.javassist </groupid> <artifactid> javassist </arfactid> <versión> 3.18.1-ga </versión> </dependencia> <! https://mvnrepository.com/artifact/commons-logging/commons-logging-> <pendency> <proupid> commons-logging </groupid> <artifactid> commons-logging </sartifactid> <versión> 1.1.1 </version> </dependencia> <! -> <pendency> <MoupRoD> cglib </groupid> <artifactid> cglib </artifactid> <versión> 2.2.2 </versewer> </pendency> <!-https://mvnrepository.com/artifact/asm/asm -> <pendency> <MoupRid> ASM </GroupId> <AtifactId> ASM </arfactId> <versión> 3.3.1 </versión> </pendency> </pendencs> </proyecto>
Esto es suficiente, he implementado la búsqueda y la adición aquí, y se están estudiando otras cosas.
Lo anterior es la conexión de datos de MySQL IntelliJ MySQL presentada por el editor. Espero que sea útil para todos. Si tiene alguna pregunta, déjame un mensaje y el editor responderá a todos a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!