Verstehen Sie die Grundlagen von Mybatis
Empfohlenes kostenloses Lernen: MySQL-Video-Tutorial
mybatis
mybatis-config.xml detaillierte Konfiguration (löschen Sie beim Konfigurieren die redundanten Attribute und kein Chinesisch, sonst wird ein Fehler angezeigt gemeldet!)
<?xml version="1.0" encoding="UTF-8" ?>nbsp;configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><!--configuration核心配置 配置文件的根元素 --><configuration> <!-- 属性:定义配置外在化 --> <properties></properties> <!-- 设置:定义mybatis的一些全局性设置 --> <settings> <!-- 具体的参数名和参数值 --> <setting></setting> </settings> <!-- 类型名称:为一些类定义别名 --> <typealiases> <!-- 实体类少 建议 第一种取别名方式--> <typealias></typealias> <!--实体类多 建议 第二种取别名方式 默认情况下用这种方式 别名为类名 首字母最好小写 --> <package></package> </typealiases> <!-- 类型处理器:定义Java类型与数据库中的数据类型之间的转换关系 --> <typehandlers></typehandlers> <!-- 对象工厂 --> <objectfactory></objectfactory> <!-- 插件:mybatis的插件,插件可以修改mybatis的内部运行规则 --> <plugins> <plugin></plugin> </plugins> <!-- 环境:配置mybatis的环境 --> <environments> <!-- 环境变量:可以配置多个环境变量,比如使用多数据源时,就需要配置多个环境变量 --> <environment> <!-- 事务管理器 --> <transactionmanager></transactionmanager> <!-- 数据源 配置连接我的数据库--> <datasource> <property></property> <property></property> <property></property> <property></property> </datasource> </environment> </environments> <!-- 数据库厂商标识 --> <databaseidprovider></databaseidprovider> <!-- 映射器:指定映射文件或者映射类 --> <mappers> <mapper></mapper> </mappers></configuration>
Paging
Datenzugriff reduzieren
limt implementiert Paging
SQL-Anweisung: select * from table name limt 0,5;
- 0: Die Startposition der Daten
- 5: Die Länge von die Daten. Eins: Mybatis verwenden. 1 Schnittstelle 1.Schnittstelle
2. Implementieren Sie die Schnittstelle List<user> getUserByLimit(Map<string> map);</string></user>
<select> select * from mybatis.user limit ${starIndex},${pageSize} </select>
Die dritte Methode: Verwenden Sie das Paging-Plug-in pageHeIper
SQL-Viele-zu-Eins-Verarbeitung
Datenbank:
<resultmap> <result></result> </resultmap>
@Test public void getUserByLimitTest() { SqlSession sqlSession = MyBatisUtils.getSqlSession (); UserMapper mapper = sqlSession.getMapper (UserMapper.class); HashMap hashMap = new HashMap<string> (); hashMap.put ("starIndex", 1); hashMap.put ("pageSize", 2); List userByLimit = mapper.getUserByLimit (hashMap); for (Object o : userByLimit) { System.out.println (o); } sqlSession.close (); }</string>
1. Interface

<select> select * from mybatis.user </select>
/** * 测试使用RowBounds实现分页 */@Test public void getUserByLimitRowBoundsTest() { SqlSession sqlSession = MyBatisUtils.getSqlSession (); RowBounds rowBounds = new RowBounds (0, 2); List<user> userList = sqlSession.selectList ("com.kuang.w.dao.UserMapper.getUserList", null, rowBounds); for (User user : userList) { System.out.println (user); } //关闭 sqlSession.close (); }</user>
package com.kuang.w.pojo; import lombok.Data; /** * @author W */ @Data public class Teacher { private int tId; private String tName; }
package com.kuang.w.pojo;import lombok.Data;/** * @author W */@Datapublic class Student { private int id; private int tid; private String name; private String password; private Teacher teacher;}
List<student> getStudentList();</student>

SQL-Eins-zu-viele-Verarbeitung
Die der Datentabellenstruktur entsprechende Entitätsklasse bleibt unverändert
Der erste Weg: Gemeinsame Abfrage mit mehreren Tabellen
1 Schnittstelle<!-- 多对一查询 1 子查询 mysql 通过一个表里是数据 与另一个表的一个数据相的情况下 查询另一个的数据 一起显示 --> <select> select * from mybatis.user; </select> <resultmap> <!-- 复杂属性 对象用 :association 集合用:collection--> <!--column 数据库中的字段 property 实体类中的属性--> <result></result> <result></result> <result></result> <!--javaType 一个 Java 类的全限定名 ,或一个类型别名(关于内置的类型别名,可以参考上面的表格)。 如果你映射到一个 JavaBean,MyBatis 通常可以推断类型。 然而,如果你映射到的是 HashMap, 那么你应该明确地指定 javaType 来保证行为与期望的相一致。--> <association></association> </resultmap> <select> select * from mybatis.teacher_table where tid = #{id}; </select>
<!--2 多表联查--> <select> select u.id uid, u.name uname, u.password upassword, u.tid utid, t.tname from mybatis.user u, mybatis.teacher_table t where t.tid = u.tid; </select> <!-- 映射--> <resultmap> <result></result> <result></result> <result></result> <result></result> <association> <result></result> </association> </resultmap>
<?xml version="1.0" encoding="UTF8" ?>nbsp;configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <properties></properties> <settings> <setting></setting> </settings> <typealiases> <typealias></typealias> <typealias></typealias> </typealiases> <environments> <environment> <transactionmanager></transactionmanager> <datasource> <property></property> <property></property> <property></property> <property></property> </datasource> </environment> </environments> <mappers> <!-- <mapper resource="com/kuang/w/dao/TeacherMapper.xml"></mapper> <mapper resource="com/kuang/w/dao/StudentMapper.xml"></mapper>--> <mapper></mapper> <mapper></mapper> </mappers></configuration>
@Test public void getStudentListTest() { SqlSession sqlSession = MyBatisUtils.getSqlSession (); StudentMapper mapper = sqlSession.getMapper (StudentMapper.class); List<student> studentList = mapper.getStudentList (); for (Student student : studentList) { System.out.println (student); } sqlSession.commit (); sqlSession.close (); }</student>
List<teacher> getTeacher(int tid);</teacher>
1 Schnittstelle <select>
select t.tid, t.tname, u.id, u.name, u.password
from mybatis.user u,
mybatis.teacher_table t
where t.tid = u.tid
and t.tid = #{tid}; </select>
<resultmap> <result></result> <result></result> <!-- 复杂属性 对象用 :association 集合用:collection--> <collection> <!--javaType 指定属性类型 一个 Java 类的全限定名--> <result></result> <result></result> <result></result> <result></result> </collection> </resultmap>
3 Testen Sie wie oben
. . . .
Verwandte kostenlose Lernempfehlungen:
MySQL-Datenbank(Video)
Das obige ist der detaillierte Inhalt vonVerstehen Sie die Grundlagen von Mybatis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



In dem Artikel werden mithilfe der Änderungstabelle von MySQL Tabellen, einschließlich Hinzufügen/Löschen von Spalten, Umbenennung von Tabellen/Spalten und Ändern der Spaltendatentypen, erläutert.

In Artikel werden die Konfiguration der SSL/TLS -Verschlüsselung für MySQL, einschließlich der Erzeugung und Überprüfung von Zertifikaten, erläutert. Das Hauptproblem ist die Verwendung der Sicherheitsauswirkungen von selbstsignierten Zertifikaten. [Charakterzahl: 159]

In Artikel werden Strategien zum Umgang mit großen Datensätzen in MySQL erörtert, einschließlich Partitionierung, Sharding, Indexierung und Abfrageoptimierung.

In Artikel werden beliebte MySQL -GUI -Tools wie MySQL Workbench und PhpMyAdmin beschrieben, die ihre Funktionen und ihre Eignung für Anfänger und fortgeschrittene Benutzer vergleichen. [159 Charaktere]

In dem Artikel werden in MySQL die Ablagerung von Tabellen mithilfe der Drop -Tabellenerklärung erörtert, wobei Vorsichtsmaßnahmen und Risiken betont werden. Es wird hervorgehoben, dass die Aktion ohne Backups, die Detaillierung von Wiederherstellungsmethoden und potenzielle Produktionsumfeldgefahren irreversibel ist.

Die Volltext-Suchfunktionen von InnoDB sind sehr leistungsfähig, was die Effizienz der Datenbankabfrage und die Fähigkeit, große Mengen von Textdaten zu verarbeiten, erheblich verbessern kann. 1) InnoDB implementiert die Volltext-Suche durch invertierte Indexierung und unterstützt grundlegende und erweiterte Suchabfragen. 2) Verwenden Sie die Übereinstimmung und gegen Schlüsselwörter, um den Booleschen Modus und die Phrasesuche zu unterstützen. 3) Die Optimierungsmethoden umfassen die Verwendung der Word -Segmentierungstechnologie, die regelmäßige Wiederaufbauung von Indizes und die Anpassung der Cache -Größe, um die Leistung und Genauigkeit zu verbessern.

In Artikeln werden ausländische Schlüssel zur Darstellung von Beziehungen in Datenbanken erörtert, die sich auf Best Practices, Datenintegrität und gemeinsame Fallstricke konzentrieren.

In dem Artikel werden in verschiedenen Datenbanken wie PostgreSQL, MySQL und MongoDB Indizes für JSON -Spalten in verschiedenen Datenbanken erstellt, um die Abfrageleistung zu verbessern. Es erläutert die Syntax und die Vorteile der Indizierung spezifischer JSON -Pfade und listet unterstützte Datenbanksysteme auf.
