Введение в Mybatis
Mybatis - отличная структура слоя настойчивости, которая поддерживает простые запросы SQL, сохраненные процедуры и расширенное картирование. Mybatis устраняет ручные настройки почти всех кодов JDBC и параметров и поиск наборов результатов. Mybatis может использовать простые XML или аннотации для конфигурации и оригинального отображения для карты интерфейсов и Pojos Java (простые старые объекты Java) в записи в базе данных.
Mybatis скачать: https://github.com/mybatis/mybatis-3/releases
Экземпляр Mybatis
Операция CRUD на пользовательском столе:
Таблица пользователя:
-- ------------------------------ Table structure for `user`-- ----------------------------DROP TABLE IF EXISTS `user`;CREATE TABLE `user` (`id` int(11) NOT NULL AUTO_INCREMENT,`userName` varchar(50) DEFAULT NULL,`userAge` int(11) DEFAULT NULL,`userAddress` varchar(200) DEFAULT NULL,PRIMARY KEY (`id`)) Engine = innodb auto_increment = 6 по умолчанию charset = utf8;--------------------------- Записи пользователя----------------------------- Вставьте в «пользовательские значения» («1», «Лето», «30», «Шанхай»); вставьте в «значения пользователя» («2», «test2», '22', 'suzhou); 'test1', '29', 'какое -то место'); вставьте в «пользовательские» значения ('4', 'lu', '28', 'какое -то место'); вставить в «пользовательские» значения ('5', 'xioxun', '27', 'nanjing'); Создайте конфигурацию файла конфигурации mybatis XML.xml <? XML version = "1.0" Encoding = "UTF-8"?> <! Doctype Configuration Public "-// mybatis.org//dtd config 3.0 // en" http://mybatis.org/dtd/mybatis-3-config> conformation> <ditd> <ditd> <ditd> <ditd http://mybatis.org/dtd/mybatis-3-config.> Определение псевдонима mybatis-> <typealiases> <typealias alias = "user" type = "com.mybatis.test.user"/> </typealiases> <среда default = "разработка"> <среда идентификатор = "разработка"> <transactionManager = "jdbc"/> <dataSource type = "booled"> <Наименование свойства = "Драйвер"/> </> <dataSource type = "booled"> <и name " value = "com.mysql.jdbc.driver"/> <name = "url" value = "jdbc: mysql: //127.0.0.1: 3306/mybatis"/> <property name = "username" value = "root"/> <property name = "password" my admin "/> </dataSource> </> </> <proport =" password "="/> </> </dataSource> </> </> <свойство = "пароль"/> </> </> </dataSource> </> </> <свойство = "Пароль". Файл, каждый файл конфигурации XML соответствует интерфейсу -> <Mappers> <mapper resource = "com/mybatis/test/user.xml"/> <mappers> </configuration> Определите файл конфигурации пользователей пользователя user.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.org/dtd/mybatis-3-mapper.dtd"> mapper. namespace = "com.mybatis.test.iuseroperation"> <!-select atportment-> <select id = "selectUserById" parameterType = "int" out resultype = "user"> select * из `user 'user.id = #{id} </select> <!-определенный результат. type = "user" id = "userresultmap"> <id property = "id" column = "user_id" /> <result property = "username" column = "user_username" /> <result property = "userage" column = "user_userage" /> <result property = "userAddress =" user_userdress " /> resultmap resultmap> <! ResultMap указывает на ранее определенную-> <!-<select id = "selectUsersbyName" parameterType = "string" resultMap = "userResultMap"> select * из пользователя, где user.username = #{username} </select>-> select emper use user ase ase user ase user ase user stermer steurname " #{username} </select> <!-Squection SQL оператор, который выполняет операцию увеличения. Идентификатор и параметрический тип такие же, как и имя и тип параметров метода AddUser в интерфейсе iuseroperation. Использование GeneratedKeys, установленных в «true», указывает на то, что Mybatis хочет получить первичный ключ, автоматически сгенерированный базой данных; keyProperty = "id" Указывает инъекцию полученного значения первичного ключа в свойство идентификатора пользователя -> <insert id = "adduser" parametertype = "user" usegeneratedkeys = "true" keyproperty = "id"> вставьте в пользователь (пользователь, пользователь, пользователь, useraddress) значения (#{userame},#{userage},#zdresrress)) </insert> <Update id = "updateUser" parametertype = "user"> use user username =#{username}, userage =#{userage}, userAddress =#{userAddress}, где id =#{id} </update> <delete id = "DeleteUser" parameterType = "int" id =#{id} </delete> </mapper> Файл конфигурации реализует взаимосвязь отображения между интерфейсами и операторами SQL. SelectUsersbyName использует два метода для его реализации. Прокомментировано также реализация. Использование ResultMap может определить отношение отображения между атрибутом и именем столбца базы данных. Свойство - это свойство класса, столбец - это имя столбца таблицы, или оно может быть псевдонимом для имени столбца таблицы!
Определение класса пользователя:
пакет com.mybatis.test; public class user {private int id; private String username; private int userage; private userAddress; public int getId () {return id;} public void setId (int id) {this.id = id;} public String getUsername () {return username;} public setUsErnam getUserAge() {return userAge;}public void setUserAge(int userAge) {this.userAge = userAge;}public String getUserAddress() {return userAddress;}public void setUserAddress(String userAddress) {this.userAddress = userAddress;}@Overridepublic String toString(){return this.userName+" "+this.Userage+" "+this.UserAddress;}} Определение IuseroPeraton:
пакет com.mybatis.test; import java.util.list; public interface iuseroperation {public user selectUserbyId (int id); public list <user> selectUsersbyname (String username); public void Adduser (пользователь пользователя); public updateUser (пользователь пользователя пользователя); Iuseroperation соответствует интерфейсу операции, имени функции и идентификатором работы в файле конфигурации Mybatis 'XML.
Тестовый тест класса:
пакет com.mybatis.test; import java.io.reader; import java.util.list; import org.apache.ibatis.io.resources; импорт org.apache.ibatis.session.sqlsession; импорт org.apache.ibatis.session.sqlSessionFactory; импорт orgaChe.Apache.ibatis.session.session.sepsessionFactory; org.apache.ibatis.session.sqlsessionFactoryBuilder; Общедоступный тест класса {частный статический SQLSessionFactory SQLSessionFactory; Private Static Reader Reader; Static {try {recression. resources.getresourceaseRead ("configuration.xml"); sqlsessionFactory = new sqlSessionFacter ("configuration.xml"); Catch (Exception e) {e.printStackTrace ();}} public static sqlSessionFactory getSession () {return sqlSessionFactory;} public void getUserbyId (int userId) {sqlSession Session = sqlSessionFactory.Opensession (); try {iUseroperation useroperation = session.getAspere.greaspere.greepresse.greations.greation.greation.greation.greations.greation.greation.greaspere. useroperation.selectuserbyid (userid); if (user! = null) {system.out.println (user.getid () + ":" + user.getusername () + ":" + user.getUseraddress ());}} наконец {session.close ();}} public getUserlist (string username) {squseSsEsseSession = {squseSsEsessessessestion) sqlSessionFactory.opensession (); try {iuseroperation useroperation = session.getmapper (iuseroperation.class); list <user> users = useroperation.selectusersbyname (username); для (пользователь пользователя: пользователи) {System.out.println (user.getId () + »:» + user.gregEnate () " +": " +" + ":" + ":" + ":" + ":" + ":" + ":" + ":" + ":" + ":" + ":" + ":" + ":" + ":" + " +": " +": " +": " +": " +": " +" + ":" + ":" + ":" + ":" + ":" + ". user.getUserAddress ());}} наконец {session.close ();}}/*** после добавления, Commit*/public void AddUser () {user user = new user (); user.setUserAddress ("place"); user.setUserame ("test_add"); user.setUseress ("30); {IuseroPeration useroperation = session.getmapper (iuseroperation.class); useroperation.adduser (user); session.commit (); System.out.println ("Добавить идентификатор пользователя:" + user.getid ());} наконец {session.close ();}}/*** после модификации, Commertifice*/public void void voider* sqlSessionFactory.opensession (); try {iUseroperation useroperation = session.getMapper (iuseroperation.class); user user = useroperation.selectuserbyid (1); if (user! = null) {user.setuserAddress («новое место»); {session.close ();}}/*** после удаления, Commit.** @param id*/public void deleteuser (int id) {sqlsession session = sqlsessionfactory.opensession (); try {iuseroperation useroperest = session.getmapper (iuseroperess.class); {session.close ();}} public static void main (string [] args) {try {test test = new Test (); // test.getUserbyId (1); // test.getUserList ("test1"); // test.adduser (); // test.updateuser (); // test.delete.deletelete (6); {System.out.println (e.getMessage ());}}}Выше приведено пример кода реализации Mybatis с добавлением, удалением, модификацией и запросом (CRUD), введенным вам редактором. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!