方法一:链接并操作mysql

//链接Mysql
val driver = "com.mysql.jdbc.Driver"
val url = "jdbc:mysql://10.1.2.190:8066/mq_sale_disc"
val username = "kr.user"
val password = "user@85263382"
var connectionMqcrm: Connection = null
Class.forName(driver)
connectionMqcrm = DriverManager.getConnection(url, username, password)
val statement = connectionMqcrm.createStatement()
//查询、插入
var count = 0
val sqlname = "insert into tmp_enterprise( ENTERPRISE_NAME ) values (\'" + coname + "\') "
val sqlcount = "select count(*) from tmp_enterprise where ENTERPRISE_NAME =\'" + coname + "\' "
var ecusqlcount = statement.executeQuery(sqlcount)
while (ecusqlcount.next()){
count = ecusqlcount.getInt(1)
}
if (count >0) {
val ecusqlname = statement.executeUpdate(sqlname)
}
//插入征信分数
var countnum =0
var companyID = 0
val sqlID = "select ENTERPRISE_ID from tmp_enterprise where ENTERPRISE_NAME= \'" + coname +"\' "
val ecusqlID = statement.executeQuery(sqlID)
while (ecusqlID.next()){
companyID = ecusqlID.getInt("ENTERPRISE_ID")
}
val timenew = System.currentTimeMillis()
var dateFormat: SimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd")
var nowtime: Date = new Date(timenew)
val currentTimenew = dateFormat.format(nowtime)
val sqlscore = "insert into tm_enterprise_credit(CREATE_TIME ,UPDATE_TIME , ENTERPRISE_ID, CREDIT_SCORE ) values( \'" + currentTimenew + "\' , \'" + currentTimenew + "\',\'" + companyID + "\',\'" + score + "\')"
val sqlcountN = "select count(*) from tm_enterprise_credit where ENTERPRISE_ID = \'" + companyID + "\'"
val ecusqlcountN = statement.executeQuery(sqlcountN)
while (ecusqlcountN.next()){
countnum = ecusqlcountN.getInt(1)
}
if (countnum > 0 ) {
val sqlnew = "update tm_enterprise_credit set CREDIT_SCORE= \'" + score + " \' , UPDATE_TIME= \'" + currentTimenew + "\'" + "where ENTERPRISE_ID= \'" + companyID + "\'"
val ecusqlnew = statement.executeUpdate(sqlnew)
} else {
val ecusqlscore = statement.executeUpdate(sqlscore)
} 方法二:查询

val jdbcDF = sqlContext.read.format("jdbc").options(Map("url" -> "jdbc:mysql://10.1.2.190:8066/mq_crm?user=kr.user&password=user@85263382",
"dbtable" -> "crm_order")).load()

val tableDF = sqlContext.jdbc("jdbc:mysql://mysql_hostname:mysql_port/testDF?user=your_username&password=your_password", "user")

//查询mySql数据库
val tableDF = sqlContext.jdbc("jdbc:mysql://10.1.2.190:8066/mq_sale_disc?user=kr.user&password=user@85263382", "tmp_enterprise")

注意:execute、executeUpdate、executeQuery三者区别

查询用executeQuery

插入、更新、删除用executeUpdate

												

scala链接mysql的更多相关文章

  1. SparkR链接mysql数据库(踩坑)

    本文主要讲述sparkR链接Mysql的过程和坑. SparkR的开发可以用RStudio工具进行开发,连接spark可以通过RStudio界面中的Connections进行配置连接;具体方法这里不做 ...

  2. Spark使用Java、Scala 读取mysql、json、csv数据以及写入操作

    Spark使用Java读取mysql数据和保存数据到mysql 一.pom.xml 二.spark代码 2.1 Java方式 2.2 Scala方式 三.写入数据到mysql中 四.DataFrame ...

  3. PDO链接mysql学习笔记

    <?php //PDO链接mysql//dsn三种写法: //dsn01 $dsn = 'mysql:host=localhost;dbname=mysql'; //$dsn = 'mysql: ...

  4. Mssql链接mysql数据库

    最近在做mysql数据库实时同步到mssql数据库的方案,花了一周时间,测试通过了,在实际机器上测试出现了若干问题.第一个问题就是在mssql上链接mysql的问题. 第一步,安装 Mysql ODB ...

  5. 如何用DOS 链接mysql

    1.Ctrl+R 打开DOS窗口 2.键入 cd\ 回车进入C盘根目录 3.进入mysql bin目录下 操作mysql命令 4.输入连接数据库命令 mysql -hlocalhost -uroot ...

  6. SQL Server链接MySQL实践

    最近在访问多数据库的时候进行了SQLServer链接MySQL数据的实践,现总结如下: 一.  安装mysql-connector-odbc驱动: 1. 在SQL Server服务器的机器上安装mys ...

  7. Python学习笔记9-Python 链接MySql数据库

    Python 链接MySql数据库,方法很简单: 首先需要先 安装一个MySql链接插件:MySQL-python-1.2.3.win-amd64-py2.7.exe 下载地址:http://dev. ...

  8. Tomcat通过JNDI方式链接MySql数据库

    原文:Tomcat通过JNDI方式链接MySql数据库 拷贝MySQL的JDBC驱动到Tomcat的lib路径下 配置全局数据源或者单个Web应用的局部数据源 局部数据源 在Tomcat的conf/C ...

  9. visual studio 2012 链接Mysql 5.1

    首先在nuGet 下载MySql.Data.Entity 安装 mysql for visual studio http://www.mysql.com/why-mysql/windows/visua ...

随机推荐

  1. GMT\UTC YYYY-MM-DDTHH:mm:ss.sssZ、YYYY-MM-DDTHH:mm:ss.sss+8:00意义及与北京时间转换

    UTC: Universal Time Coordinated 协调世界时,又称世界标准时间. GMT: Greenwich Mean Time 格林尼治平均时. 格林尼治标准时间的正午是指当太阳横穿 ...

  2. opencart分类筛选逻辑修改为并且条件

    opencart分类筛选模式默认是或的逻辑,满足条件1或条件2都展现出来,如果想要改成既满足条件1又满足条件2要怎么改呢?有一个插件可以实现,FixFilter OC2x,可以修改默认的筛选条件 1. ...

  3. Postman接口自动化测试实例用到的完整的SM2前端加密算法代码

    var __g__ = {}; !function(t,e){"object"==typeof exports?module.exports=exports=e():"f ...

  4. sublime There are no packages available for installation 问题的解决办法

    这个是因为IPv6的原因, 因此我们需要修改我们的 /etc/hosts文件. 第一步: 执行: nm-tool 获取DNS的信息 例如: DNS: 192.168.1.11 第二步: 在/etc/h ...

  5. RSA算法的C++string实现(模幂算法和欧几里得算法的使用)后附思路

    void resetNumA(string numAStr); //使用string重置numB void resetNumB(string numBStr); //将数组转换为字符串,用于输出 st ...

  6. org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.shen.mapper.UserMapper.findById

    org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.shen.mapper.Use ...

  7. luogu P3197 [HNOI2008]越狱

    构造长度为n的串,给定m种颜色,求使得相邻两位的颜色相同的方案数 显然可以看出长度为n的串染m种颜色的总方案数为$m^{n}$ 然后来考虑相邻两位颜色不同的方案 对于第一位,有m种选择 对于剩余的n- ...

  8. 开发宏功能:excel中从sheet批量插入

    源数据如图: 宏操作: 生成数据后: 关键操作:在excel中启用开发工具,添加宏,然后添加模块即可,编辑完代码后,自定义功能按钮即可. Sub MakeDataSource() Dim isExis ...

  9. linux关机(重启)命令

    Linux系统关机命令: #关机命令 1.halt 2.poweroff 3.shutdown -h now 立即关机(具有root权限用户使用)#重启命令 1.reboot 2.shutdown - ...

  10. ES6中的解构赋值

    在解释什么是解构赋值前,我们先来看一下, ES5 中对变量的声明和赋值. var str = 'hello word'; 左边一个变量名,右边可以是字符串,数组或对象. ES6 中增加了一种更为便捷的 ...