zoukankan      html  css  js  c++  java
  • 【知识积累】SBT+Scala+MySQL的Demo

    一、背景

      由于项目需要,需要在Sbt+Scala项目中连接MySQL数据库。由于之前使用Maven+Java进行依赖管理偏多,在Sbt+Scala方面也在不断进行摸索,特此记录,作为小模块知识的积累。

    二、系统环境

      Scala、Sbt、IDE的版本分别如下

      Scala版本     ==> 2.11.8

      Sbt版本       ==> 0.13.8

      Idea Intellij版本   ==> 2016.2.2

    三、步骤

      3.1 新建SBT项目 

      

      

      3.2 添加Student类和程序入口

      项目结构如下图所示

      

      其中Student代码如下

    package com.hust.grid.leesf.domain
    
    /**
      * Created by LEESF on 2016/8/28.
      */
    class Student(val id: Int, val name: String, val age: Int) {
      override def toString = "id = " + id + ", name = " + name + ", age = " + age
    }

      MySQLDemo代码如下

    package com.hust.grid.leesf.entrance
    
    import java.sql.{Connection, DriverManager, SQLException}
    
    import com.hust.grid.leesf.domain.Student
    
    /**
      * Created by LEESF on 2016/8/28.
      */
    object MySQLDemo {
      def main(args: Array[String]): Unit = {
        val url = "jdbc:mysql://localhost:3306/test?user=root&useUnicode=true&characterEncoding=utf-8"
        var conn: Connection = null
        try {
          // load mysql driver
          classOf[com.mysql.jdbc.Driver]
          conn = DriverManager.getConnection(url)
          val stmt = conn.createStatement
          val sql = "select * from student"
          val rs = stmt.executeQuery(sql)
          while (rs.next) {
            println(new Student(rs.getInt(1), rs.getString(2), rs.getInt(3)))
          }
        } catch {
          case e: SQLException => e.printStackTrace
          case e: Exception => e.printStackTrace
        } finally {
          if (conn != null) {
            conn.close
          }
        }
      }
    }

      build.sbt代码如下

    name := "MySQLDemo"
    
    version := "1.0"
    
    scalaVersion := "2.11.8"
    
    libraryDependencies += "mysql" % "mysql-connector-java" % "5.1.6"
    
        

      3.3 新建Student表

      选定test数据库

      执行SQL脚本如下

    CREATE TABLE `student` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(20) DEFAULT NULL,
      `age` tinyint(2) DEFAULT NULL,
      PRIMARY KEY (`id`)
    );

      插入记录脚本如下

    insert into student(name, age) values("leesf", 24);
    insert into student(name, age) values("dyd", 24);

      3.4 执行程序

      执行MySQLDemo

      结果如下  

    id = 1, name = leesf, age = 24
    id = 2, name = dyd, age = 24

      说明:以上结果表明已经成功访问数据库,并取得其中的数据。

    四、总结

      以上记录了使用SBT+Scala访问MySQL数据的过程,整个Demo已经上传至github,有需要的园友可以直接fork,谢谢各位园友的观看。  

  • 相关阅读:
    SQL优化
    Mybatis
    Spring MVC(总结二)
    ES多机集群配置
    ES索引,分片,一致性
    ElasticSearch关于索引库的命令操作
    试题01(一)
    Linux安装配置elastic search
    Windows安装配置elastic search
    SpringBoot(二)
  • 原文地址:https://www.cnblogs.com/leesf456/p/5814595.html
Copyright © 2011-2022 走看看