2018 Super-Lateral Начало работы Демо: идея + Maven + MyBatis

Java задняя часть MySQL MyBatis IntelliJ IDEA maven

Настройте mybatis с последней версией IDEA и mybatis в 2018. Поскольку я долго искал в Интернете, я не мог найти подходящей информации для моего новичка.Это процесс от создания файла до поиска первой части данных, вклейка кода, в основном некоторых незнакомых новичкам деталей, которые сложно найти в интернете, дабы облегчить себе и новичкам проверку и заполнение вакансий.

Это адрес github, вы можете визуально увидеть структуру каталогов:GitHub.com/Остальное Лай Чансин7758/я…

1. Большинство файловых структур в интернете такие.Это проект веб-приложения, созданный с помощью maven.На самом деле, простой запуск первого проекта вообще не требует веб-приложения, а файлы POJO и папки ресурсов автоматически не генерируются. Вместо этого создайте его сами.

(Яма 1: это тоже долгое время озадачивало меня, как я могу не найти файловую структуру, упомянутую в Интернете, ниже приведено конкретное введение файла)

2. Создайте шаблон проекта: maven+quickstart

2.1

Яма 2: версия java не используйте больше, чем версия jdk9, в начале я использовал jdk10 по ошибке, как переключиться на другие версии в IEDA внутри jdk, Baidu на линии, онлайн-решения; быстрый запуск и веб-приложение могут, я используйте шаблоны быстрого запуска.

Яма 3: Создайте имя проекта без дефисов, иначе класс Class не будет создан в файле позже).


2.2 Конфигурация maven такая же, в интернете есть много руководств по maven.


3. Начальная конфигурация

3.1 Добавьте драйвер Mysql и зависимости Mybatis в файл pom.xml, а затем нажмите «Импорт» в правом нижнем углу.


<dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>6.0.6</version>
    </dependency>

    <!-- ********************** Mybatis依赖 ********************** -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.4.4</version>
    </dependency>

3.2 Исходная файловая структура на данный момент выглядит следующим образом: csdnMybatis — это имя моего проекта, и структура проекта генерируется автоматически.


3.3 Создайте папку ресурсов, обратите внимание на тот же уровень, что и папка java, и установите для нее значение «Корень ресурсов» (это означает, что внешние файлы java могут получить доступ к ресурсам внутри)

Отчет: Ошибка в информации о конфигурации ресурса, случайно наступившей на одну из этих ям, будет сообщено об исключении в потоке "основной" org.apache.ibatis ......'s.

(Яма 4: Эта папка ресурсов создается вами, и вам нужно установить разрешение на Resourcr Root самостоятельно, иначе код не сможет получить доступ к файлу конфигурации xml, и будет сообщено об ошибке)


В-четвертых, вышеуказанное почти исправлено, ниже приведена информация о файле конфигурации, запишите информацию о файле в папке ресурсов.

4.1 Создайте два xml файла в папке ресурсов, файловая структура следующая:


4.2 В файле конфигурации mybatis Mybatis-config напишите следующий код:

<?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>

    <settings>
        <!--当返回行的所有列都是空时,MyBatis默认返回null-->
        <setting name="returnInstanceForEmptyRow" value="true"/>
    </settings>

    <environments default="development">

        <environment id="development">
            <!--使用了 JDBC 的提交和回滚设置,它依赖于从数据源得到的连接来管理事务作用域-->
            <transactionManager type="JDBC"/>
            <!--使用数据池,复用实例-->
            <dataSource type="POOLED">
                <!--<property name="driver" value="com.mysql.jdbc.Driver"/>-->
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8"/>
                <property name="username" value="root"/>
                <property name="password" value="admin"/>
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <mapper resource="TableDAO.xml"></mapper>
    </mappers>
</configuration>


Вот четыре вещи, на которые следует обратить внимание,

Яма 5: Первая отметка, кажется, потому что версия mysql слишком новая, вам нужно изменить vaule="com.mysql.jdbc.Driver" на "com.mysql.jdbc.Driver", в противном случае, хотя результаты тоже есть , он сообщит красный:

Второй токен test представляет базу данных пользователя, а третий токен — это имя пользователя и пароль соответственно.

Яма 6: четвертый тег соответствует только что созданному файлу TableDAO.xml.


4.3 Напишите следующий код в файле TableDAO.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">
<mapper  namespace="csdnMybatis">
    <select id="getWebsiteById" resultType="csdnMybatis.Twebsites">
        SELECT * FROM websites WHERE id = #{id};
    </select>

</mapper>


Это всего лишь простое поисковое выражение. Здесь много подводных камней, и слишком много способов написать это в Интернете. Но в этой среде я только проверил, правильно ли я написал. Есть четыре момента, на которые следует обратить внимание, который будет использоваться позже.В моем примере напишите это так:

Яма 7: namespace="csdnMybatis" соответствует папке, в которой находится файл для запуска (TestMybatis - созданный позже); (если файл глубже, может потребоваться многослойная структура, но в этом примере нет)

Яма 8: resultType="csdnMybatis.Twebsites" соответствует имени класса, созданному позже;

id = "getWebsiteById" будет использоваться позже, операторы SQL, веб-сайты, соответствующие искомому имени таблицы;



Пять основных типов документов и файлов

5.1 Создаем два файла под csdnMybatis, а позиции соответствуют способу написания 4.3 На данный момент вся файловая структура такая:


5.2 В файле Twebsite напишите следующий код:

(Не обязательно писать имена полей полной таблицы, достаточно написать несколько простых)

package csdnMybatis;

public class Twebsites {
    private int id;
    private String name;


    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;
    }
}

Содержимое таблицы следующее: любая таблица с двумя полями, id и name, может использовать этот код:


5.3 Основной файл, то есть прописать в работающем файле следующий код, можно:

package csdnMybatis;

import java.io.IOException;
import java.io.InputStream;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class TestMybatis {
    public static void main(String[] args) throws IOException {
        String resource = "Mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession session = sqlSessionFactory.openSession();

        Twebsites c=  session.selectOne("getWebsiteById",2);
        System.out.println(c.getName());

        session.commit();
        session.close();
    }
}

Может сообщать об ошибке после 5.4


Это требует настройки рабочего пути



Результат работы, ошибок нет


6. Я новичок в изучении JAVA, и я написал его более 2 часов.Это всего лишь простой проект IDEA+MAVEN под управлением Mybatis.Если вышеуказанный простой проект не может быть запущен или что-то не так, пожалуйста, прокомментируйте. Что касается типографики, я переделаю ее, если это необходимо.