Здание SQLSessionFactory от XML
Создание экземпляра SQLSessionFactory из XML -файла очень просто. Здесь мы рекомендуем вам использовать файл ресурса в рамках группы ClassPath для его настройки.
String resource = "org/mybatis/пример/configuration.xml"; Reader Reader = resources.getResourCeasRearder (ресурс); sqlmapper = new sqlSessionFactoryBuilder (). Build (Reader);
Файл конфигурации XML содержит настройки ядра для системы 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 = "Driver" value = "$ {Driver}"/> <name = "url" value = "$ {url}"/> <name = "username" value = "$ {username}"/> name = "password" value = "$ {password}"/> <//> </> <Proport = "value =" $ {Password} "/> </> </> </> </> <proportive =" </Environments> <mappers> <mapper resource = "org/mybatis/example/blogmapper.xml"/> </mappers> </configuration>Конечно, в файле конфигурации XML есть много настраиваемых вещей, и приведенный выше пример указывает на наиболее важную часть.
Получить sqlSession от sqlSessionFactory
Теперь, когда мы уже знаем, как получить объект SQLSessionFactory, основанный на том же откровении, мы можем получить экземпляр SQLSession. Объект SQLSession полностью содержит все методы для выполнения операций SQL с базой данных в качестве фона. Вы можете использовать экземпляр SQLSession для непосредственного выполнения картированных операторов SQL. Например:
SQLSession Session = sqlmapper.opensession (); try {blog blog = (блог) session.selectone ("org.mybatis.example.blogmapper.selectblog", 101); } наконец {session.close (); }Теперь есть более простой способ. Используйте интерфейсы, которые разумно описывают параметры и операторы SQL для возврата значений (например, blogmapper.class), чтобы теперь это проще и более безопасный код без склонности к строковым литералам и ошибкам конверсии. Например:
SQLSession Session = SQLSessionFactory.Opensession (); try {blogmapper mapper = session.getmapper (blogmapper.class); Блог блог = mapper.selectblog (101); } наконец {session.close (); } Исследуйте карту SQL -заявления
Вот пример операторов картирования XML, которые должны удовлетворить вызов объекта SQLSession в приведенном выше примере.
<? 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 = "org.mybatis. <select id = "selectblog" parametertype = "int" resultype = "blog"> select * из блога, где id = #{id} </select> </mapper>В пространстве имен «com.mybatis.example.blogmapper» он определяет оператор сопоставления с именем «selectblog», который позволяет вам вызвать оператор сопоставления с помощью полностью квалифицированного имени «org.mybatis.example.blogmapper.selectblog», что мы и пишем в следующем примере.
Блог блог = (блог) session.selectone ("org.mybatis.example.blogmapper.selectblog", 101); Но следующие вызовы имеют больше преимуществ:
Интерфейс сопоставления соответствует пространству команд для сопоставления файла XML, а метод интерфейса соответствует идентификатору карты SQL, определенной в картировании XML -файла. ?????????????????
Blogmapper mapper = session.getmapper (blogmapper.class); Блог блог = mapper.selectblog (101);
Прежде всего, это не основано на тексту, так что это безопаснее. Во -вторых, если у вашей IDE есть функция завершения кода, вы можете использовать его для манипулирования отображенными операторами SQL. В -третьих, нет необходимости отменять конверсию типа. В то же время, интерфейс BlogMapper может быть простым, а тип возврата значения очень безопасен (тип параметра также очень безопасен).