使用scalikejdbc3.3.2来操作MySQL数据库

ScalikeJDBC是Scala开发人员基于SQL的简洁数据库访问库。该库自然包装JDBC API,为您提供易于使用且非常灵活的API。更重要的是,QueryDSL使您的代码类型安全且可重用。

ScalikeJDBC是一个实用且适合生产的产品。将此库用于实际项目。

http://scalikejdbc.org/

 

在pom.xml文件中添加依赖

       <dependency>
            <groupId>org.scalikejdbc</groupId>
            <artifactId>scalikejdbc_2.11</artifactId>
            <version>3.3.2</version>
        </dependency>
        <dependency>
            <groupId>org.scalikejdbc</groupId>
            <artifactId>scalikejdbc-config_2.11</artifactId>
            <version>3.3.2</version>
        </dependency>

        <!--mysql依赖的jar包-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>

在项目目录的resources下创建一个配置文件

在配置文件中写上

db.default.driver="com.mysql.jdbc.Driver"
db.default.url="jdbc:mysql://localhost:3306/g6_scala"
db.default.user="root"
db.default.password="root"

创建一个Scala类,再创建一个scala case class

package com.jeff

import scalikejdbc._
import scalikejdbc.config._

object ScalalikeJdbc {


  def main(args: Array[String]): Unit = {

    DBs.setupAll()

    val people:List[user]= List(
      user("1","jeff",21),
      user("2","小十七",22),
      user("3","大树",23),
      user("4","zz",24),
      user("5","小海",25),
      user("6","蝶舞",26),
      user("7","阿伟",27),
      user("8","Mesut",28),
      user("9","大国",29),
      user("10","woods",30)

    )

    //往数据库中添加people List里面的对象到数据库中
      val insert = DB.localTx { implicit session =>
        for(x<-people){
          SQL("insert into user values(?,?,?)").bind(x.id,x.name,x.age).update().apply()
        }
      }

    //通过scalikejdbc查询user表所有的数据
     val memberIds = DB readOnly { implicit session =>
      sql"select * from 
       user".map(rs=>user(rs.string("id"),rs.string("name"),rs.int("age"))).list.apply()
    }

     //通过scalikejdbc将id=8的数据的age加10 
    val update = DB.autoCommit { implicit session =>
      SQL("update user set age = age + 10 where id = ?").bind( "8").update().apply()
    }


    println(update)
    DBs.closeAll()

  }
}

package com.jeff

case class user(id:String,name:String,age:Int)

猜你喜欢

转载自blog.csdn.net/qq_34341930/article/details/89497769