您的位置:澳门新葡8455最新网站 > 编程教学 > 支出实战,SQLite快捷支付轻量级服务器应用

支出实战,SQLite快捷支付轻量级服务器应用

发布时间:2019-10-06 23:27编辑:编程教学浏览(110)

    标题想了好多,感到比很多的标题都卓殊,举个例子:

    澳门新葡萄京娱乐场 1幻灯片1.png

    《Kotlin + Spring Boot会不会成为一种新的精选?》

    澳门新葡萄京娱乐场,Spring Boot 是由 Pivotal 共青团和少先队提供的全新框架,其陈设目标是用来简化新 Spring 应用的启幕搭建以及支付进程。在 Java 开垦世界的多数名高天下框架:Spring 框架及其衍生框架、做缓存Redis、音讯队列框架RabbitMQ、Greenplum数据库等等,这一个都以Pivotal 团队的产品。还会有汤姆cat、Apache Http Server、Groovy里的一对一品开荒者,DevOps理论的倡导者都在Pivotal。Spring 团队在存活 Spring 框架的功底上,开荒了二个新框架:Spring Boot,用来简化配置和布局 Spring 应用程序的经过,干掉了那些繁琐的费用步骤和表率代码及其配置,使得基于 Spring 框架的 Java 公司级应用开辟“极简化”。比较于古板的 Spring/Spring MVC 框架的市廛级应用开拓(Spring 的种种配置太复杂了,大家事先是在用“生命”在搞这个布署),而Spring Boot 用简单的注解和 application.properties 配置文件,幸免了繁琐並且轻松失误的 xml配置文件,一点都不小的简化了基于 Spring 框架的集团级应用开拓的配备。

    《写给Android程序猿的服务端开荒架构》

    而 Kotlin 是由 JetBrains 团队费用的多平台、静态类型、强工程实用性的编制程序语言,Kotlin 100%宽容Java,比Java更加强劲、更安全、更轻便、更文雅,比 Scala 更简短、更实用。Kotlin 是 Google 集团的 Android 官方匡助的开销语言。Spring 官方也规范援助Kotlin语言,Spring Boot 2.0 版本中为 Kotlin 提供了头号的帮忙。其实,在 Spring Boot 2.0 和 Spring 5.0 框架源代码中,大家已经得以观看 Kotlin 代码。

    《创设轻量级的Java服务器框架,无需布置Tomcat,也没有供给配置Mysql》

    关于Java 开辟世界的种类营造筑工程具,曾经的 Ant、Maven 无疑是“行当规范”。可是,作为青出于蓝的 Gradle 的上扬则蓬勃。Gradle舍弃了Maven的依照 xml 的累赘配置(威名赫赫XML的翻阅体验比很差),Gradle 替代它,选拔了世界特定语言 Groovy DSL 的布局,大大简化了营造代码的行数。Gradle 非常轻易,基于Groovy的一体脚本令人欣赏;Gradle 庞大灵活,种种在Maven中难以动手的事务在 Gradle 中正是小菜一碟。相比于一门 Groovy 编制程序语言的配置跟 xml 语法的配备,孰优孰劣,由此可见。

    前言

    自己直接以来都以行使Maven+Java+汤姆cat+Springmvc+Mybatis+Mysql来搭建Mini服务器应用,那套框架非常的粗略,也平价易用,前段时间自己在想会不会有更加好的消除方案,加上多年来在就学了Kotlin语言开采Android,所以就有了那篇文章。

    本类别课程介绍了依附 Gradle + Kotlin 、使用 Spring Boot 2.0 框架来支付集团级应用的特等试行。作者期望由此简单来表明、详细的以身作则,系统完善地介绍怎么着行使 Spring Boot 2.0 框架开拓品种,以及如何 Kotlin 举办实际的服务端项指标开辟。

    框架介绍

    该架构使用Gradle+Kotlin+Spring Boot+Mybatis+SQLite来代替Maven+Java+汤姆cat+Springmvc+Mybatis+Mysql,当中Gradle代替Maven,Kotlin代替Java,Spring Boot 代替 Tomcat,同一时间Spring Boot也带了Springmvc,SQLite替代Mysql。

    【Spring Boot 2.0 极简教程】第1讲 Kotlin 的极简个性之:隐式类型与函数式编制程序

    Kotlin

    Kotlin 是二个用以现代多平台利用的静态编制程序语言,由 JetBrains 开辟。可以编译成Java字节码,也足以编写翻译成JavaScript,方便在平昔不JVM的设备上运维。Kotlin已正式成为Android官方帮忙开垦语言。

    【Spring Boot 2.0 极简教程】第2讲 Kotlin类型系统与空安全

    Gradle

    Gradle是七个依据Apache Ant和Apache Maven概念的门类自动化构建筑工程具。它采用一种基于Groovy的特定领域语言来声称项目设置,屏弃了依照XML的种种繁琐配置。基于Groovy,build脚本使用Groovy编写。

    澳门新葡萄京娱乐场 2幻灯片1.png澳门新葡萄京娱乐场 3幻灯片2.png澳门新葡萄京娱乐场 4幻灯片3.png澳门新葡萄京娱乐场 5幻灯片4.png澳门新葡萄京娱乐场 6幻灯片5.png澳门新葡萄京娱乐场 7幻灯片6.png澳门新葡萄京娱乐场 8幻灯片7.png澳门新葡萄京娱乐场 9幻灯片8.png澳门新葡萄京娱乐场 10幻灯片9.png

    Spring Boot

    Spring Boot是由Pivotal团队提供的全新框架,其设计目标是用来简化新Spring应用的初步搭建以及支出进程。通过这种措施,Spring Boot致力于在如火如荼的迅猛利用开拓领域(rapid application development)成为领导者。

    1. 创建独立的Spring应用程序
    2. 放手的汤姆cat,不需求配置WAEscort文件
    3. 简化Maven配置
    4. 自动配置Spring
    5. 提供生产就绪型成效,如目的,健检和表面配置
    6. 纯属未有代码生成和对XML没有要求安顿

    — 基于 Kotlin + Gradle + Spring Boot 2.0 的商店级服务端开辟实战

    Mybatis

    MyBatis 是一款不错的长久层框架,它匡助定制化 SQL、存款和储蓄进程以及高级映射。MyBatis 防止了大概具备的 JDBC 代码和手动设置参数以及获得结果集。

    SQLite

    SQLite,是一款轻型的数据库,是遵从ACID的关系型数据库管理种类。不像常见的顾客-服务器榜样,SQLite引擎不是个程序与之通讯的独自进程。整个数据库(定义、表、索引和数码本人)都在宿主主机上囤积在二个十足的文件中。

    1. ACID事务
    2. 零配置 – 无需安装和治本配置
    3. 积累在单纯磁盘文件中的一个总体的数据库
    4. 数据库文件能够在差别字节顺序的机器间自由的分享
    5. 援救数据库大小至2TB
    6. 足够小, 大致13万行C代码, 4.43M
    7. 比部分风靡的数据库在比较多常备数据库操作要快
    8. 简单, 轻松的API

    系列结构及利用意况

    使用AMDliJ IDEA开采摘运输作,该类型的文本结构如下:

    ├── build.gradle├── gradle├── mydatabase.sqlite├── settings.gradle└── src ├── main │ ├── java │ ├── kotlin │ │ └── com │ │ └── thejoyrun │ │ └── webtest │ │ ├── MyApplication.kt │ │ ├── controller │ │ │ ├── TestApiController.kt │ │ │ └── TestController.kt │ │ ├── dao │ │ │ └── UserRepository.kt │ │ └── model │ │ └── User.kt │ ├── resources │ │ ├── application.properties │ │ └── example.db │ └── webapp │ └── index.jsp └── test ├── java ├── kotlin └── resources
    

    花色没有须求运维在汤姆cat,项指标MyApplication.kt有main函数入口,只必要右击MyApplication.kt,选择run 'com.thejoyrun.webtest.MyApplicationKt'运转就能够。

    澳门新葡萄京娱乐场 11image.png

    澳门新葡萄京娱乐场 12

    应用英特尔liJ IDEA创造项目进度

    创建Kotlin的web项目

    流程1

    澳门新葡萄京娱乐场 13image.png

    流程2

    澳门新葡萄京娱乐场 14image.png

    流程3

    澳门新葡萄京娱乐场 15image.png

    配置build.gradle文件

    增加Spring Boot、Mybatis、SQLite、JSP的依赖

    group 'com.thejoyrun'version '1.0-SNAPSHOT'buildscript { ext.kotlin_version = '1.1.2' ext.springBootVersion = '2.0.1.RELEASE' repositories { mavenCentral() } dependencies { // Kotlin classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // Spring-boot classpath "org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion" }}apply plugin: 'java'apply plugin: 'kotlin'apply plugin: 'war'sourceCompatibility = 1.8repositories { mavenCentral()}dependencies { testCompile group: 'junit', name: 'junit', version: '4.11' testCompile group: 'junit', name: 'junit', version: '4.12' // Kotlin compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version" compile("org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version") compile("org.jetbrains.kotlin:kotlin-reflect:$kotlin_version") // Spring-boot compile("org.springframework.boot:spring-boot-starter-web:$springBootVersion") // SQLite compile 'org.xerial:sqlite-jdbc:3.21.0.1' // Mybatis compile 'org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.2' // 支持jsp compile 'org.apache.tomcat.embed:tomcat-embed-jasper:9.0.7' // jsp的jstl表达式 compile 'javax.servlet:jstl:1.2'}
    
    始建SQLite数据库文件

    品类选取SQLite,所以必要多个SQLite文件,能够下载官方的SQLiteManager来创造贰个文书,并创办数据表。可能应用以下代码直接生成一个数据库文件和成立数据表。

    fun main(args: Array<String>) { //连接SQLite的JDBC Class.forName("org.sqlite.JDBC") //建立一个数据库名example.db的连接,如果不存在就在当前目录下创建之 val conn = DriverManager.getConnection("jdbc:sqlite:src/main/resources/example.db") val stat = conn.createStatement() // //创建一个表,包含id、name两个字段 stat.executeUpdate("create table user(id int,name varchar // 插入一行数据 stat.executeUpdate("insert into user values(1,'Wiki1');") stat.executeUpdate("insert into user values(2,'Wiki2');") //查询所有数据 val rs = stat.executeQuery("select * from user;") while ) { //将查询到的数据打印出来 print("id = " + rs.getString + " ") println("name = " + rs.getString } rs.close() conn.close()}
    
    布置数据源

    创建/src/main/resources/application.properties文件

    spring.datasource.url=jdbc:sqlite::resource:example.db#spring.datasource.url=jdbc:sqlite:/Users/Wiki/Documents/mydatabase.sqlitespring.datasource.username=spring.datasource.password=spring.datasource.driver-class-name=org.sqlite.JDBC
    
    创建User类
    class User { var id: Int = 0 var name:String? = null}
    
    创建dao类
    @Repositoryinterface UserRepository { @Select("SELECT * FROM User WHERE ID = #{id}") fun findById(@Param integer: Int?): User @Select("SELECT * FROM User") fun findAll(): List<User> @Insert("INSERT INTO User VALUES(#{id}, #{name})") @Options(useGeneratedKeys = true, keyProperty = "id") fun insert(user: User)}
    
    创建controller类

    @RestControllerclass TestApiController { @Autowired internal var userRepository: UserRepository? = null @GetMapping fun hello(): Any { val users = userRepository!!.findAll() return users }}
    

    @Controllerclass TestController { @Autowired lateinit var userRepository: UserRepository @RequestMapping fun index(request: HttpServletRequest): String { val users = userRepository.findAll() request.setAttribute("users",users) return "/index.jsp" }}
    

    创建index.jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %><html><head> <title>Title</title></head><body><table border="2"> <tr> <th>名称</th> <th>版本</th> </tr> <c:forEach items="${users}" var="item" varStatus="status"> <tr> <td>${item.id}</td> <td>${item.name}</td> </tr> </c:forEach></table></body></html>
    
    创制应用入口 MyApplication

    @MapperScan 用来布局扫描该包名以下的dao

    @MapperScan("com.thejoyrun.webtest.dao")@SpringBootApplicationopen class MyApplication {}fun main(args: Array<String>) { SpringApplication.run(MyApplication::class.java, *args)}
    

    右击该类运转项目,浏览器访谈:

    Demo代码

    本文由澳门新葡8455最新网站发布于编程教学,转载请注明出处:支出实战,SQLite快捷支付轻量级服务器应用

    关键词: