MyBatis - это ORM-фреймворк для работы с базой данных, он позволяет работать с простым SQL, хранимыми процедурами.
Для конфигурации MyBatis может использовать XML или аннотации.
Каждое приложение с использованием MyBatis сосредоточено вокруг экземпляра SqlSessionFactory. Экземпляр этого класса можно получить, используя SqlSessionFactoryBuilder, используя либо конфигурационный класс XML, либо же пользовательский класс с параметрами конфигурации.
Простой пример Configuration.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.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>
</configuration>
В секции mappers указываются пути к файлам, в которых содержится маппинг сущностей на таблицы БД.
Чтобы напрямую обращаться к базе данных (выполнять различные запросы) от SqlSessionFactory надо получить экземпляр SqlSession
SqlSession session = sqlSessionFactory.openSession();
try {
BlogMapper mapper = session.getMapper(BlogMapper.class);
Blog blog = mapper.selectBlog(101);
} finally {
session.close();
}
Где BlogMapper это интерфейс, в котором описаны все методы, для работы с БД.
Вот фрагмент простого тестового класса, который получает доступ к SqlSession и работает с бд
public static void main(String[] args){
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
Reader reader;
try {
reader = Resources.getResourceAsReader("Configuration.xml");
SqlSessionFactory sessionFactory = sqlSessionFactoryBuilder.build(reader);
SqlSession sqlSession = sessionFactory.openSession();
try{
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
long id = 1L;
User user = userMapper.findById(id);
} finally {
sqlSession.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Для конфигурации MyBatis может использовать XML или аннотации.
Каждое приложение с использованием MyBatis сосредоточено вокруг экземпляра SqlSessionFactory. Экземпляр этого класса можно получить, используя SqlSessionFactoryBuilder, используя либо конфигурационный класс XML, либо же пользовательский класс с параметрами конфигурации.
Простой пример Configuration.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.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>
</configuration>
В секции mappers указываются пути к файлам, в которых содержится маппинг сущностей на таблицы БД.
Чтобы напрямую обращаться к базе данных (выполнять различные запросы) от SqlSessionFactory надо получить экземпляр SqlSession
SqlSession session = sqlSessionFactory.openSession();
try {
BlogMapper mapper = session.getMapper(BlogMapper.class);
Blog blog = mapper.selectBlog(101);
} finally {
session.close();
}
Где BlogMapper это интерфейс, в котором описаны все методы, для работы с БД.
Вот фрагмент простого тестового класса, который получает доступ к SqlSession и работает с бд
public static void main(String[] args){
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
Reader reader;
try {
reader = Resources.getResourceAsReader("Configuration.xml");
SqlSessionFactory sessionFactory = sqlSessionFactoryBuilder.build(reader);
SqlSession sqlSession = sessionFactory.openSession();
try{
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
long id = 1L;
User user = userMapper.findById(id);
} finally {
sqlSession.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Комментариев нет:
Отправить комментарий