English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
MyBatis - это отличная платформа для persistence layer, поддерживающая обычные запросы SQL, хранимые процедуры и продвинутые mappings. MyBatis удаляет почти все JDBC-код и ручную настройку параметров, а также обертку результатов, и позволяет использовать простые XML или аннотации для конфигурации и базового mappings, а также mappings интерфейсов и Java POJO (Plain Old Java Objects, обычные Java-объекты) к записям базы данных.
1. Создайте проект, импортируйте jar-бандлы
Создайте java-проект или web-проект, затем импортируйте jar-бандлы mybatis и зависимости, а также jar-бандлы базы данных, я использую базу данных Oracle10g
файл jar mybatis-3.2.2.jar - ядро драйвера
файл jar asm-3.3.1.jar
файл jar cglib-2.2.2.jar
файл jar commons-logging-1.1.1.jar
файл jar javassist-3.17.1-GA.jar
файл jar log4j-1.2.17.jar
файл jar slf4j-api-1.7.5.jar
файл jar slf4j-log4j12-1.7.5.jar
файл jar classes12.jar для Oracle10g
2. Создайте основную конфигурацию подключения к базе данных sqlMapConfig.xml
Создайте файл sqlMapConfig.xml в директории src
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- настройка источника данных, среда--> <!-- можно настроить несколько сред, одну для тестирования, другую для запуска в production--> <environments default="test"> <!-- тестовая среда --> <environment id="test"> <!-- настройка транзакций : JDBC транзакции/MANAGED переданные контейнеру транзакции--> <transactionManager type="JDBC"></transactionManager> <!-- источник данных : POOLED кэширование/UNPOOLED некэширование/JNDI шифрование паролей, высокая безопасность--> <dataSource type="POOLED"> <property name="driver" value="oracle.jdbc.OracleDriver"/> <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/> <property name="username" value="scott"/> <property name="password" value="luogg"/> </dataSource> </environment> <!-- серверная среда --> <environment id="deploy"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <property name="driver" value="oracle.jdbc.OracleDriver"/> <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/> <property name="username" value="scott"/> <property name="password" value="luogg"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/luogg/mapper/PersonMapper.xml"/> </mappers> </configuration>
3. Создайте папку test под src, в которой создайте файл TestMybatis.java
package test; import com.luogg.domain.Person; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.Test; import java.io.IOException; import java.io.InputStream; import java.util.List; /** * Создано luogg 17 февраля 2017 года. */ public class TestMybatis { @Test public void init() throws IOException { /** * Тестирование подключения к базе данных * 1. Определите переменную типа String resource, указывающую на только что настроенный файл xml подключения к базе данных. * 2. Создайте поток ввода для чтения нашей конфигурации базы данных. * 3. Создание потока ввода для создания завода. * 4. После создания завода open завод */ String resource = "sqlMapConfig.xml"; InputStream is = Resources.getResourceAsStream(resource); SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is); SqlSession session = factory.openSession(); }
Теперь мы можем провести единичный тест, чтобы проверить, был ли создан сеанс, зеленый цвет означает успешное создание, затем мы создадим таблицу базы данных и напишем sql-запрос
4. Создайте базу данных и введите данные
CREATE TABLE person( ID NUMBER(2), NAME VARCHAR2(20), sex NUMBER(2), age NUMBER(3) ) -- Введите данные, нажмите на кнопку блокировки внизу, затем нажмите на + SELECT * FROM person FOR UPDATE
5. В папке src создайте папку com.luogg.domain и в этой папке создайте файл实体 Person.java
package com.luogg.domain; /** * Создано luogg 17 февраля 2017 года. */ public class Person { private String name; private int sex; private int age; private int id; @Override public String toString() { return "Person{" + "name='" + name + '\'' + ", sex=" + sex + ", age=" + age + ", id=" + id + '}'; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getSex() { return sex; } public void setSex(int sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
6. Создание маппинга файла, соответствующего базе данных, в папке src создайте папку com.luogg.mapper и файл PersonMapper.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- настройка пространства имен, пространство имен + .id является уникальным идентификатором sql-запроса--> <mapper namespace="com.luogg.mapper.PersonMapper"> <!-- запрос всех данных, параметры id, resultType результат, parameterType параметр--> <!-- внимание : если в sql-запросе нужно填写 коллекцию, например, для запроса всех данных, возвращается результат в виде набора Person, то параметр resultType пишется как путь + тип коллекции например: вернуть коллекцию Person, тогда填写 путь к Person Bean + Person--> <select id="find" resultType="com.luogg.domain.Person"> SELECT * from person </select> </mapper>
7. В основном конфигурационном файле sqlMapConfig.xml сделать карту, чтобы она распознавала наши файлы конфигураций с sql-запросами
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- настройка источника данных, среда--> <!-- можно настроить несколько сред, одну для тестирования, другую для запуска в production--> <environments default="test"> <!-- тестовая среда --> <environment id="test"> <!-- настройка транзакций : JDBC транзакции/MANAGED переданные контейнеру транзакции--> <transactionManager type="JDBC"></transactionManager> <!-- источник данных : POOLED кэширование/UNPOOLED некэширование/JNDI шифрование паролей, высокая безопасность--> <dataSource type="POOLED"> <property name="driver" value="oracle.jdbc.OracleDriver"/> <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/> <property name="username" value="scott"/> <property name="password" value="luogg"/> </dataSource> </environment> <!-- серверная среда --> <environment id="deploy"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <property name="driver" value="oracle.jdbc.OracleDriver"/> <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/> <property name="username" value="scott"/> <property name="password" value="luogg"/> </dataSource> </environment> </environments> <!--Файл карты mappings--> <mappers> <mapper resource="com/luogg/mapper/PersonMapper.xml"/> </mappers> </configuration>
8. Возвращаемся к классу теста TestMybatis.java, чтобы получить sql запросы из файла конфигурации и вернуть результат.
package test; import com.luogg.domain.Person; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.Test; import java.io.IOException; import java.io.InputStream; import java.util.List; /** * Создано luogg 17 февраля 2017 года. */ public class TestMybatis { @Test public void init() throws IOException { /** * Тестирование подключения к базе данных * 1. Определите переменную типа String resource, указывающую на только что настроенный файл xml подключения к базе данных. * 2. Создайте поток ввода для чтения нашей конфигурации базы данных. * 3. Создание потока ввода для создания завода. * 4. После создания завода open завод * 5. Через session доступ к sql запросам в конфигурационном файле */ String resource = "sqlMapConfig.xml"; InputStream is = Resources.getResourceAsStream(resource); SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is); SqlSession session = factory.openSession(); //Как посетить sql запросы в PersonMapper.xml? Пространство имён + .id List<Person> list = session.selectList("com.luogg.mapper.PersonMapper.find"); System.out.println(list.size()); for(Person p : list){ System.out.println(p); } } }
Результат выполнения:
Указанные выше являются入门ными учебными руководствами по框架у mybatis, которые я介绍的给大家,��望对大家有所帮助. Если у вас есть какие-либо вопросы, пожалуйста, оставьте комментарий, я отвечу вам вовремя. В этом также очень благодарен всем за поддержку веб-сайта呐喊 руководств!
Заявление: содержание этой статьи взято из интернета, авторские права принадлежат соответствующему владельцу, материалы предоставлены пользователями Интернета, веб-сайт не имеет права собственности, не undergone редактирование, и не несет ответственности за соответствующие юридические обязательства. Если вы обнаружите спорное содержимое, пожалуйста, отправьте письмо по адресу: notice#oldtoolbag.com (во время отправки письма, пожалуйста, замените # на @) для жалоб, и предоставьте соответствующие доказательства. Как только будет подтверждено, веб-сайт немедленно удалил спорное содержимое.