Mini
Mini<1.0> — полуавтоматический фреймворк для отображения, который используется аналогично Mybatis, но без использования SQL-запросов в формате XML. Вместо этого используются аннотации.
Архитектура в основном основана на архитектуре Mybatis и состоит из четырёх шагов:
Для получения более подробной информации о Mybatis можно обратиться к моей статье: Mybatis архитектура подробно.
<dependency>
<groupId>com.lwl</groupId>
<artifactId>Mini</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
SqlSessionFactory build = new SqlSessionFactoryBuilder().build("miniConfig.xml");
SqlSession sqlSession = build.openSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List<User> users = mapper.selectList();
System.out.println("users = " + users);
1. SqlSessionFactory build = new SqlSessionFactoryBuilder().build("miniConfig.xml") Здесь обратите внимание: формат файла конфигурации следующий:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration[
<!ELEMENT configuration (properties?,environment?,settings?,mappers?)>
<!ELEMENT properties (property*)>
<!ATTLIST properties
resource CDATA #IMPLIED
>
<!ELEMENT property EMPTY>
<!ATTLIST property
name CDATA #REQUIRED
value CDATA #REQUIRED
>
<!ELEMENT environment (dataSource)>
<!ELEMENT dataSource (property*)>
<!ELEMENT settings (setting*)>
<!ELEMENT setting EMPTY>
<!ATTLIST setting
name CDATA #REQUIRED
value CDATA #REQUIRED
>
<!ELEMENT mappers (package*)>
<!ELEMENT package EMPTY>
<!ATTLIST package
name CDATA #REQUIRED
>
]>
<configuration>
<properties resource="db.properties">
</properties>
<settings>
<setting name="userDruid" value="true"/>
<setting name="cacheEnable" value="true"/>
<setting name="loggedEnable" value="true"/>
</settings>
<!--<environment>
<dataSource>
<property name="jdbc.url" value="jdbc:mysql://localhost:3306/mybatis01"/>
<property name="jdbc.username" value="root"/>
<property name="jdbc.password" value="root"/>
<property name="jdbc.driver" value="com.mysql.jdbc.Driver"/>
</dataSource>
</environment>-->
<mappers>
<package name="com.lwl.mini.mapper"/>
</mappers>
</configuration>
В начале файла конфигурации должны быть добавлены ограничения, которые являются обязательными. Это стандарт языка XML.
Описание тегов:
properties:
Его можно загрузить двумя способами: первый — указать файл конфигурации ресурсов в атрибуте ресурса, второй — использовать тег property для загрузки внутри метки:
<properties>
<property name="jdbc.url" value="jdbc:mysql://localhost:3306/mybatis01"/>
<property name="jdbc.username" value="root"/>
<property name="jdbc.password" value="root"/>
<property name="jdbc.driver" value="com.mysql.jdbc.Driver"/>
</properties>
environment:
settings:
В настоящее время поддерживаются только три вида атрибутов дочерних меток:
<setting name="userDruid" value="true"/>: фреймворк по умолчанию использует пул соединений Druid для управления соединениями. Если указано false, то используется JDBC и пул соединений не используется.
<setting name="cacheEnable" value="true"/>: следует ли включать кэш. Здесь есть только один уровень кэша, который включён по умолчанию.
<setting name="loggedEnable" value="true">: следует ли регистрировать выполнение SQL-оператора. По умолчанию включено.
mappers:
@Select("select * from user where id = #{testId} and username = #{name}")
List<User> selectAll(@Param("testId") int id, @Param("name") String name); ```
@Select("select * from user where id = #{testId} and username = #{name}")
User selectOne(@Param("testId") int id, @Param("name") String name);
@Insert("insert into user values(#{id},#{name},#{birthday},#{sex},#{address})")
Integer insertOne(@Param("id") Integer id, @Парам("name") String name, @Param("birthday") Timestamp birthday, @Param("sex") String sex, @Param("address") String address);
@Delete("delete from user where id = #{id}")
Integer deleteOne(@Param("id") Integer id);
@Update("update user set username =#{name},birthday = #{birthday} where id =#{id}")
Integer updateOne(@Param("name") String name, @Param("birthday") Timestamp birthday, @Param("id") Integer id);
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )