Scala 操作Mysql

一、工具IDEA+MAVEN

二、Pom文件添加依赖 
1、更改成自己的scala版本

<properties>
    <scala.version>2.11.8</scala.version> </properties>
  • 1
  • 2
  • 3

2、添加驱动依赖

 <dependency>
      <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.12</version> </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5

三、代码书写 
1、DBUtils

package com.encapsulation
import java.sql
import java.sql.{Connection, DriverManager}
/**
  * Created by A chun on 2017/10/18.
  */
object DBUtils { val IP = "127.0.0.1" val Port = "3306" val DBType = "mysql" val DBName = "scala" val username = "root" val password = "123456" val url = "jdbc:" + DBType + "://" + IP + ":" + Port + "/" + DBName classOf[com.mysql.jdbc.Driver] def getConnection(): Connection = { DriverManager.getConnection(url, username, password) } def close(conn: Connection): Unit = { try { if (!conn.isClosed() || conn != null) { conn.close() } } catch { case ex: Exception => { ex.printStackTrace() } } } } 

 

 

2、Operations

package com.encapsulation
import com.encapsulation.DBUtils.close import scala.collection.mutable import scala.collection.mutable.ArrayBuffer class Operations { case class User(id: String, name: String, age: Int) //insert def add(user: User): Boolean = { val conn = DBUtils.getConnection() try { val sql = new StringBuilder() .append("INSERT INTO user(id, name, age)") .append(" VALUES(?, ?, ?)") val pstm = conn.prepareStatement(sql.toString()) pstm.setObject(1, user.id) pstm.setObject(2, user.name) pstm.setObject(3, user.age) pstm.executeUpdate() > 0 } finally { conn.close() } } //delete def delete(id: String): Boolean = { val conn = DBUtils.getConnection() try { val sql = "DELETE FROM user WHERE id = ?" val pstm = conn.prepareStatement(sql) pstm.setObject(1, id) pstm.executeUpdate() > 0 } finally { conn.close() } } //update def modify(user: User): Boolean = { val conn = DBUtils.getConnection() try { val sql = "UPDATE user SET age = ? WHERE id = ?" val pstm = conn.prepareStatement(sql) pstm.setObject(1, user.age) pstm.setObject(2, user.id) pstm.executeUpdate() > 0 } finally { conn.close() } } //select def query(id: Int): ArrayBuffer[mutable.HashMap[String, Any]] = { val conn = DBUtils.getConnection() try { val sql = new StringBuilder() .append("SELECT name, age") .append(" FROM user") .append(" WHERE id > ?") val pstm = conn.prepareStatement(sql.toString()) pstm.setObject(1, id) val rs = pstm.executeQuery() val rsmd = rs.getMetaData() val size = rsmd.getColumnCount() val buffer = new ArrayBuffer[mutable.HashMap[String, Any]]() while (rs.next()) { val map = mutable.HashMap[String, Any]() for (i <- 1 to size) { map += (rsmd.getColumnLabel(i) -> rs.getString(i)) } buffer += map } buffer } finally { conn.close() } } } 

 

 

3、MySQLOperations

package com.encapsulation

object MySQLOperations {
  def main(args: Array[String]): Unit = {
    val op = new Operations()
    val user = op.User("5", "Allen", 34) //Insert //println(op.add(user)) //Delete println(op.delete("5")) //update //println(op.update(user)) } }

转载于:https://www.cnblogs.com/kxgdby/p/7956601.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值