Подготовка
Чтобы создать новый Java Project или Java WWEB Project, вам необходимо импортировать следующие пакеты.
Основная работа была завершена, и тогда мы начнем добраться до темы.
Создать новый класс сущности
Создайте новый класс объектов, соответствующий таблице баз данных
пакет com.edu.hpu.domain; /***@author Administrator*Класс объектов, соответствующий таблице пользователя*/public class user {// Атрибуты класса сущности и имена поля таблицы соответствуют частному идентификатору INT; Приватное название строки; частный int возраст; // инкапсулировать атрибуты 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 getage () {return Age; } public void setage (int age) {this.age = age; } // Добавить метод toString @Override public String toString () {return "user [id =" + id + ", name =" + name + ", age =" + age + "]"; }}Добавить класс инструментов mybatis
Класс инструментов добавлен, как показано ниже,
пакет com.edu.hpu.util; импортировать java.io.inputstream; импорт org.apache.ibatis.session.sqlsession; Импорт org.apache.ibatis.session.sqlsessionFactory; Импорт org.apache.ibatis.session.sqlsessionFactory; Импорт org.apache.ibatis.session.sqlsessionFactoryBuilder; открытый класс mybatisutil {/** * Get sqlSessionFactory * @return sqlSessionFactory */public static sqlSessionFactory getSqlSessionFactory () {string resource = "conf.xml"; // Нажмите на файл конфигурации inputStream = mybatisUtil.class.getClassloader (). getResourceam (); SQLSessionFactory Factory = New SQLSessionFactoryBuilder (). Build (IS); вернуть фабрику; } / ** * Get sqlSession * @return sqlSession * / public static sqlSession getSqlSession () {return getSqlSessionFactory (). OpenSession (); } /** * Получить sqlSession * @param isautocommit * true означает, что созданный объект SQLSession автоматически отправляет транзакцию после выполнения SQL * false означает, что созданный объект SQLSession не будет автоматически отправлять транзакцию после выполнения SQL. В настоящее время нам нужно позвонить в sqlsession.commit () вручную, чтобы отправить транзакцию * @return sqlsession */ public static sqlsession getsqlsession (логический isautocommit) {return getSqlSessionFactory (). Opensession (Isautocommit); }}Существует два метода для добавления, удаления, поиска и изменения данных с использованием mybatis, а именно операция файла конфигурации и работы аннотации.
Работа через файлы конфигурации
Файл конфигурации базы данных следующим образом, настройте информацию о базе данных,
<? xml version = "1.0" Encoding = "UTF-8"?> <! Конфигурация doctype public "-// mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <configuration> <cervination afault upectome upertault "effection upperation" upporting "efference vervaction"> just vervaction "<> reproscomation" efferuction ">" Развитие "развитие" развитие ". type = "jdbc" /> <!-Настройка информации об подключении базы данных-> <dataSource type = "Booled"> <name = "name =" driver "value =" com.mysql.jdbc.driver " /> <name =" url " value = "jdbc: mysql: // localhost: 3306/test? useUnicode = true & haremencoding = utf-8 & Zerodatetimemebehavior = converttonull"/> <name = "username" value = "root"/> <property name = "пароль" value = "/> </dataSource> <//> </messapers> <m value = admin"/> </dataSource> <//> </mpressers> <m value = advic usermapper.xml-файл, usermapper.xml расположен в пакете com.edu.hpu.mapping, поэтому ресурс написан как com/edu/hpu/mapping/usermapper.xml-> <mapper resource = "com/edu/hpu/mapper/usermapper.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 = "edray. <!- Запишите запрос SQL операторы В теге SELECT установите атрибут идентификатора тега SELECT TO GETUSER. Значение атрибута ID должно быть уникальным. Атрибут параметратип не может быть использован повторно, чтобы указать тип параметра, используемый в запросе. Атрибут ResultType указывает тип набора результатов, возвращаемый Query ResultType = "com.edu.hpu.domain.user" означает, что результат запроса инкапсулируется в объект пользовательского класса и возвращается в пользовательский класс, который является классом объекта, соответствующим таблице пользователей-> <!-Получите пользовательский объект, основанный на Id Query-> <Select ID "getUser" inte "inte" inte ». ResultType = "com.edu.hpu.domain.user"> select * из пользователей, где id =#{id} </select> <!-Создать пользователь (create)-> <insert id = "adduser" parametertype = "com.edu.hpu.domain.user"> Insert в пользователи (имя, возраст) значения (#name},#and {werer) </egeert) </egeert) <//egeert) <//egeert) </egeert. (Удалить)-> <delete id = "deleteUser" parametertype = "int"> удалить из пользователей, где id =#{id} </delete> <!-изменить пользователь (обновление)-> <Обновление id = "updateUser" parametertype = "com.edu.hpu.domain.user"> uppate stem =#{name},###xpu xpu. </update> <!-Запросите всех пользователей-> <select id = "getallusers" reculatype = "com.edu.hpu.domain.user"> select * of asers </select> </mapper> Добавление, удаление и пересмотр базы данных с помощью файлов конфигурации в основном завершено. Далее дается тестовый класс.
Тесты могут быть выполнены, как показано ниже,
пакет com.edu.hpu.test; импортировать java.util.list; импорт com.edu.hpu.domain.user; Import com.edu.hpu.util.mybatisutil; Импорт org.junit.test; импорт org.apache.ibatis.session.sqlsession; открытый класс Test2 {@Test public void testAdd () {// sqlSession sqlSession = mybatisutil.getsqlsession (false); SqlSession sqlSession = mybatisutil.getSqlSession (true); / ** * MAP SQL идентификационная строка, * com.edu.hpu.mapping.usermapper - это значение атрибута пространства имен тега Mapper в файле usermapper.xml, * Adduser - это значение атрибута ID, а SQL можно найти через значение атрибута ID * string "com.edu.hpu.mapping.usermapper.adduser"; // map SQL String String user user = new user (); user.setname ("новый пользователь xiaohuang"); user.setage (20); // выполнить операцию вставки int retresult = sqlSession.insert (оператор, пользователь); // вручную отправлять транзакции // sqlSession.commit (); // после выполнения SQL с использованием SQLSession SQLSession.Close (); System.out.println (Retresult); } @Test public void testupDate () {sqlSession sqlsession = mybatisutil.getsqlsession (true); /** * Карта SQL идентификационная строка, * com.edu.hpu.mapping.usermapper - это значение атрибута пространства имен тега Mapper в файле usermapper.xml, * UpdateUser - это значение атрибута идентификатора тега обновления. SQL, который должен быть выполнен, может быть найден с помощью значения атрибута идентификатора тега обновления */string ratport = "com.edu.hpu.mapping.usermapper.updateuser"; // отображение строки идентификатора sql user user = new user (); user.setid (3); user.setName ("Hello World"); user.setage (25); // выполнить операцию модификации int retresult = sqlSession.Update (оператор, пользователь); // После выполнения SQL с SQLSession вам необходимо закрыть SQLSession SQLSession.Close (); System.out.println (Retresult); } @Test public void testDelete () {sqlSession sqlSession = mybatisutil.getSqlSession (true); / ** * MAP SQL идентификационная строка, * com.edu.hpu.mapping.usermapper - это значение атрибута пространства имен тега Mapper в файле usermapper.xml, * DeleteUser - это значение атрибута идентификатора, а также можно найти значение ID -атрибута тега Delete. "com.edu.hpu.mapping.usermapper.deleteuser"; // Сопоставление идентификационной строки SQL // выполнить операцию удаления int retresult = sqlSession.Delete (оператор, 4); // после выполнения SQL с использованием SQLSession SQLSession.Close (); System.out.println (Retresult); } @Test public void testgetAll () {sqlSession sqlSession = mybatisutil.getSqlSession (); /** * Сопоставление идентификационной строки SQL, * com.edu.hpu.mapping.usermapper - это значение атрибута пространства имен тега Mapper в файле usermapper.xml. * Getallusers - это значение атрибута идентификатора тега SELECT. SQL, который должен быть выполнен, может быть найден с помощью значения атрибута идентификатора TAG SELECT TAG */String = "com.edu.hpu.mapping.usermapper.getallusers"; // Сопоставление строки идентификации SQL // выполнить операцию запроса и автоматически инкапсулировать результаты запроса в список user> return <user> lStUsers = sqlSession. // После выполнения SQL с SQLSession вам необходимо закрыть SQLSession SQLSession.Close (); System.out.println (LSTUSERS); }}Операция через аннотации
Работа с помощью аннотаций требует написания интерфейса, но ее не нужно реализовать, как показано ниже.
пакет com.edu.hpu.mapping; импортировать java.util.list; импорт com.edu.hpu.domain.user; Импорт org.apache.ibatis.annotation.delete; Импорт org.apache.ibatis.annotation.insert; Импорт org.apache.ibatis.annotation.select; Импорт org.apache.ibatis.annotations.update; /** * @author gacl * Определите интерфейс для отображения SQL, укажите SQL для выполнения с использованием аннотаций */public interface usermapper_11 {// Использовать аннотацию @Insert, чтобы указать SQL, чтобы выполняться с помощью method @Insert («Insert Into User (name, возраст) значения ( #wame}, #{age at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at at egure) // Используйте аннотацию @Delete, чтобы указать SQL, который будет выполняться методом DeleTeByID @Delete ("DELETE из пользователей, где id =#{id}") public int deleteByid (int id); // Использование аннотации @Update, чтобы указать SQL, который будет выполняться методом обновления @Update («Обновление пользователей SET name =#{name}, age =#{age}, где id =#{id}») public update (пользователь пользователя); // Использование аннотации @Select, чтобы указать SQL для выполнения метода GetByID @Select ("select * из пользователей, где id =#{id}") public user getByid (int id); // Использование аннотации @Select, чтобы указать SQL для выполнения метода GetAll @Select («SELECT * FROM USER») Public List <user> getAll (); }В то же время вам необходимо добавить письменный интерфейс в файл конфигурации базы данных и добавить следующее оператор в conf.xml.
<mapper/>
Хорошо, это в основном завершено, вот тестовый класс, который можно проверить.
пакет com.edu.hpu.test; импортировать java.util.list; импорт com.edu.hpu.domain.user; Импорт com.edu.hpu.mapping.usermapper_11; Import com.edu.hpu.util.mybatisutil; импорт org.apache.ibatis.session.sqlsession; Импорт org.junit.test; / ***@author Administrator*Тестовая аннотация*/ public class test3 {@test public void testadd () {sqlsession sqlsession = mybatisutil.getsqlsession (true); // Получить объект класса реализации интерфейса Usermapper. Объект класса реализации интерфейса Usermapper динамически построен SQLSession.getMapper (usermapper.class). Usermapper_11 mapper = sqlsession.getmapper (usermapper_11.class); Пользователь пользователь = новый пользователь (); user.setName («Великая мудрость глупа»); user.setage (20); int add = mapper.add (user); // SQLSession должен быть закрыт после выполнения SQL с SQLSession SQLSession.Close (); System.out.println (add); } @Test public void testupDate () {sqlSession sqlsession = mybatisutil.getsqlsession (true); // Получить объект класса реализации интерфейса Usermapper. Объект класса реализации интерфейса Usermapper динамически построен SQLSession.getMapper (usermapper.class) usermapper_11 mapper = sqlsession.getmapper (usermapper_11.class); Пользователь пользователь = новый пользователь (); user.setid (3); user.setname ("Большой звук и звук"); user.setage (26); // Выполнить операцию модификации int retresult = mapper.update (user); // После выполнения SQL с использованием SQLSession вам необходимо закрыть SQLSession SQLSession.Close (); System.out.println (Retresult); } @Test public void testDelete () {sqlSession sqlSession = mybatisutil.getSqlSession (true); // Получить объект класса реализации интерфейса USERMAPPER, а объект класса реализации интерфейса USERMAPPER динамически создан SQLSession.getMapper (usermapper.class) usermapper_11 mapper = sqlsession.getmapper (usermapper_11.class); // выполнить операцию удаления int retresult = mapper.deletebyid (7); // После использования SQLSession для выполнения SQL вам необходимо закрыть sqlSession sqlSession.close (); System.out.println (Retresult); } @Test public void testgetUser () {sqlSession sqlSession = mybatisutil.getSqlSession (); // Получить объект класса реализации интерфейса Usermapper. Объект класса реализации интерфейса Usermapperi динамически построен SQLSession.getMapper (usermapper.class) usermapper_11 mapper = sqlsession.getmapper (usermapper_11.class); // Выполнить операцию запроса и автоматически инкапсулировать результат запроса в пользователь return user user = mapper.getbyid (1); // После использования SQLSession для выполнения SQL вам необходимо закрыть sqlSession sqlSession.close (); System.out.println (пользователь); } @Test public void testgetAll () {sqlSession sqlSession = mybatisutil.getSqlSession (); // Получить объект класса реализации интерфейса Usermapper. Объект класса реализации интерфейса Usermapper динамически построен SQLSession.getMapper (usermapper.class) usermapper_11 mapper = sqlsession.getmapper (usermapper_11.class); // Выполнить операции запроса и автоматически инкапсулировать результаты запроса в список <user> return list <user> lStusers = mapper.getall (); // После использования выполнения SQLSession SQL вам необходимо закрыть SQLSession SQLSession.Close (); System.out.println (LSTUSERS); }}Выше приведено подробное объяснение реализации Mybatis добавления данных, удаления и пересмотра данных, которое редактор представил вам. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!