Slardar — это рамка для слоя данных, которая имеет характеристики, схожие с MyBatis, Hibernate и другими. Slardar использует JavaScript для создания динамических запросов SQL, что делает его более удобным для людей, знакомых с JavaScript. Он также предоставляет аннотации для построения связей между объектами. Простота является главным преимуществом маппера данных Slardar перед объектно-реляционными инструментами.
<dependency>
<groupId>org.easyarch</groupId>
<artifactId>slardar</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
Предположим, у вас есть таблица с именем t_user
. Пример запроса может выглядеть так:
Сначала создайте класс: java User
package org.easyarch.test.pojo;
import org.easyarch.slardar.annotation.entity.Column;
import org.easyarch.slardar.annotation.entity.Table;
@Table(tableName = "user")
public class User {
@Column(name = "client_id")
private String clientId;
@Column(name = "username")
private String userName;
@Column(name = "password")
private String password;
``````markdown
Импортируйте следующие аннотации и классы:
```java
import org.easyarch.slardar.annotation.sql.SqlParam;
import org.easyarch.test.pojo.User;
import java.util.List;
Создайте интерфейс UserMapper
:
public interface UserMapper {
public User findById(@SqlParam(name = "id") String id);
public List<User> findByUser(User user);
}
Используйте API Slardar: java DBSession
, создайте класс:
public class UserService {
private UserMapper mapper;
private DBSession session;
public UserService() {
try {
DBSessionFactory sessionFactory = new DBSessionFactoryBuilder().build(
ResourcesUtil.getResourceAsStream("/config.xml"));
session = sessionFactory.newDelegateSession();
mapper = session.getMapper(UserMapper.class);
} catch (Exception e) {
e.printStackTrace();
}
}
public User getUser(String id) {
return mapper.findById(id);
}
}
java
public List getUsers(User user) {
return mapper.findByUser(user);
}
```
Наконец, выполните некоторые конфигурации: Сначала выполните конфигурацию для инициализации базы данных, создайте resources/db.properties:
username = *****
password = *****
url = jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=utf8&useSSL=false
driverClassName = com.mysql.jdbc.Driver
```maxActive = 200
minIdle = 10
initialSize = 50
maxWait = 6000
```xml
<configuration>
<interface package="org.easyarch.test.dao" />
<mapper location="classpath:mapper/" />
<datasource location="classpath:db.properties" class="" />
</configuration>
Запишите ваш SQL в resources/mapper/usermapper.java
ctx.namespace = "org.easyarch.test.dao.UserMapper";
функция findById(параметры){
return "SELECT * FROM t_user WHERE client_id = $id$";
}
функция findByUser(параметры) {
var sql = "SELECT * FROM user" + ctx.where;
если (параметры.username != undefined){
sql += " AND username = $username";
}
если (параметры.phone != undefined){
sql += " AND phone = $phone$";
}
если (параметры.client_id != undefined){
sql += " AND client_id = $client_id";
}
return sql;
}
```
Запишите основную функцию для тестирования:
```java
public class Main{
public static void main(String[] args){
UserService service = new UserService();
System.out.println(service.getUser("123456"));
User user = new User();
user.setUserName("code4j");
user.setPhone("13600000000");
System.out.println(service.getUsers(user));
}
}
```
Дополнительная информация на китайском доступна по ссылке:
```
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )