anyline 快速开始

2022-09-16 09:37 更新

示例代码看这里 https://gitee.com/anyline/anyline-simple

Anyline的核心在于数据库操作,只需在要项目中注入AnylneService即可快速实现数据库操作。

@Autowired
@Qualifier("anyline.service") 
protected AnylineService service;

如果熟悉maven和Spring MVC(或Struts2),那非常简单.如果什么基础也没有请参考:从0开始抢建环境(spring mvc) 或 从0开始抢建环境(struts2)

如果是基于SpringBoot请参考:SpringBoot环境 或者 SpringBoot环境(前后端分离)

以下springmvc,maven环境为例:

添加依赖

<!-- Spring MVC -->
<dependency>
    <groupId>org.anyline</groupId>
    <artifactId>anyline-mvc</artifactId>
    <version>${anyline.version}</version>
</dependency>
 
<!-- MySQL 根据实际情况 -->
<dependency>
    <groupId>org.anyline</groupId>
    <artifactId>anyline-jdbc-mysql</artifactId>
    <version>${anyline.version}</version>
</dependency>

Spring MVC配置文件

<!--扫描org.anyline包-->
<context:component-scan base-package="org.anyline"></context:component-scan>
 
<!--注册一个springjdbc模板 根据实际情况注入数据源-->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
    <property name="dataSource" ref="ds" />
</bean>

接下来主要有掌握两点:如何操作数据库及如何接收返回结果

如何操作数据库

AnylineService(配合AnylineDao)提供了常用的数据库操作接口,其中insert,update,delete,execute比较简单也容易理解而select操作相对灵活的多,灵活性主要体现在其参数ConfigStore的构造方式上,通过ConfigStore可以实现非常复杂的查询操作1public DataSet selects(String src, ConfigStore configs, String ... conditions);在实际开发过程中,通常是用BaseController继承tAnylineControllerAnylineController中已经注入AnylineService serive,并重载了大量config函数用来自动构造ConfigStore

更详细的操作参考:AnylineService 与condition()

如何接收操作后返回结果

insert,update,delete,execute返回结果只有成功失败或影响行数select返回DataRow表示一行,selects返回DataSet<DataRow>表示多行DataRow/DataSet上附加了排序,求和,截取,清除空值,按列去重,最大最小值,交集合集差集,分组,行列转换,类SQL筛选(like,eq,in,less,between...),JSON,XML格式转换等常用计算函数详细参考:数据结构:DataRow数据结构:DataSet

Spring MVC,Maven环境配置

添加依赖

<!-- Spring MVC -->
<dependency>
    <groupId>org.anyline</groupId>
    <artifactId>anyline-mvc</artifactId>
    <version>${anyline.version}</version>
</dependency>
 
<!-- MySQL 根据实际情况 -->
<dependency>
    <groupId>org.anyline</groupId>
    <artifactId>anyline-jdbc-mysql</artifactId>
    <version>${anyline.version}</version>
</dependency>

Spring MVC配置文件

<!--扫描org.anyline包-->
<context:component-scan base-package="org.anyline"></context:component-scan>
 
<!--注册一个springjdbc模板 根据实际情况注入数据源-->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
    <property name="dataSource" ref="ds" />
</bean>

SpringBoot环境

添加依赖

<!-- Spring MVC -->
<dependency>
    <groupId>org.anyboot</groupId>
    <artifactId>anyboot-mvc</artifactId>
    <version>${anyboot.version}</version>
</dependency>
<!--如果是前后端分离的项目可以把org.anyboot.anyboot-mvc换成org.anyline.anyline-mvc这样会少一个依赖-->
<!-- MySQL 根据实际情况 -->
<dependency>
    <groupId>org.anyboot</groupId>
    <artifactId>anyboot-jdbc-mysql</artifactId>
    <version>${anyboot.version}</version>
</dependency>

配置数据源

默认数据源配置

spring.datasource.driver=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/al_api?useUnicode=true&characterEncoding=UTF8&useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root

如果需要操作多数据源,添加以下配置

spring.datasource.list=sso,cms #先定义数据源列表
#依次配置列表中指定的数据源
spring.datasource.sso.driver=com.mysql.cj.jdbc.Driver
spring.datasource.sso.url=jdbc:mysql://127.0.0.1:3306/al_sso?useUnicode=true&characterEncoding=UTF8&useSSL=false&serverTimezone=UTC
spring.datasource.sso.username=root
spring.datasource.sso.password=root
 
spring.datasource.cms.driver=com.mysql.cj.jdbc.Driver
spring.datasource.cms.url=jdbc:mysql://127.0.0.1:3306/al_cms?useUnicode=true&characterEncoding=UTF8&useSSL=false&serverTimezone=UTC
spring.datasource.cms.username=root
spring.datasource.cms.password=root

配置类中扫描org.anylie与org.anyboot包

import org.anyboot.config.db.ds.DynamicDataSourceRegister; 
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Import;
@SpringBootApplication
@ComponentScan(basePackages = { "org.anyline", "org.anyboot" })
@Import(DynamicDataSourceRegister.class)
public class Main {
    public static void main(String[] args) {
        SpringApplication.run(Main.class, args);
    }
}

其余操作于Srping MVC环境完全一致

SpringBoot环境(前后分离)

前后分离的项目不需要依赖anyboot(anyboot中的包主要用来支持JSP)

添加依赖

<!-- Spring MVC -->
<dependency>
    <groupId>org.anyline</groupId>
    <artifactId>anyline-mvc</artifactId>
    <version>${anyline.version}</version>
</dependency>
<!-- MySQL 根据实际情况 -->
<dependency>
    <groupId>org.anyline</groupId>
    <artifactId>anyline-jdbc-mysql</artifactId>
    <version>${anyline.version}</version>
</dependency>

注入service

 @Autowired
    private org.anyline.service.AnylineService service

或者继承

org.anyline.controller.impl.AnylineController

其余操作于Srping MVC环境完全一致









以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号