Java调用Mysql

连接步骤

  • 添加mysql官方的java接口jar包,在后面详细介绍

  • 连接Database

Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/javabook", "USERNAME", "PASSWORD");
  • 创建Database命令语句
Statement statement = connection.createStatement();
  • 执行命令语句
  statement.executeUpdate("create table Temp (col1 char(5), col2 char(5))");
  • 获取请求query的结果集resultSet
  ResultSet resultSet = statement.executeQuery("select firstName, mi, lastName from Student where lastName " + " = 'Smith'");

resultSet的默认位置是null,以下代码打印所有数据信息

 while (resultSet.next())System.out.println(resultSet.getString(1) + " " + resultSet.getString(2) + " " + resultSet.getString(3)); 

也可以通过getString(“firstName”)获得firstName的值

完整程序代码如下:

public class DatabaseTest {public static void main(String[] argv)throws SQLException, ClassNotFoundException {Class.forName("com.mysql.jdbc.Driver");System.out.println("Driver loaded");Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/Javadata", "user1", "12345");System.out.println("connected");Statement statement = connection.createStatement();ResultSet resultSet = statement.executeQuery("select * from Test order by age desc");while(resultSet.next()){System.out.println(resultSet.getString("name") + " " +  resultSet.getString("age"));}connection.close();}}

注意
每一个单独语句会单独提交到数据库中,如果要分组进行提交的话,可以采用setAutoCommit(false)方法,并在一组statement语句的句末调用commit()方法提交整个组,而rollback()则撤销该组的提交。
rollback()可用于读取某个数据失败而导致整项不该修改的数据的修改。

使用带参数的SQL语句

不带参数的SQL语句:

String queryString = "select firstName, mi, " +"lastName, title, grade from Student, Enrollment, Course " +"where Student.ssn = '" + _ssn_ + "' and Enrollment.courseId "+ "= '" + _courseId_ +"' and Enrollment.courseId = Course.courseId " +" and Enrollment.ssn = Student.ssn";ResultSet rset = stmt.executeQuery(queryString)

调用connection.prepareStatement(),采用带参数的SQL语句(使用?作为参数):

preparedStatement = connection.prepareStatement(queryString);String queryString = "select firstName, mi, " +"lastName, title, grade from Student, Enrollment, Course " +"where Student.ssn = ? and Enrollment.courseId = ? " +"and Enrollment.courseId = Course.courseId";preparedStatement.setString(1, ssn);preparedStatement.setString(2, courseId);ResultSet rset = preparedStatement.executeQuery();

IntelliJ中导入jar包

我使用的是Android Studio,但AS基于IJ开发,所以大同小异,步骤如下:

在Mysql官网下载mysql-connector-java-5.1.43.tar.gz
导入IntelliJ IDE中:
1. 点击 File -> Project Structure(快捷键 Ctrl + Alt + Shift + s),点击Project Structure界面左侧的modules。(在这里我的module是my_test)
2. 在 “Dependencies” 标签界面下,点击右边绿色的 “+”号,选择第一个选项“Jar dependency”,选择相应的jar包,点“OK”,jar包添加成功。

3. 假设包中有mysql.jdbc.Driver类,则在该module下,使用com.mysql.jdbc.Driver即可使用该类

Java调用Mysql相关推荐

  1. Java调用MySQL并返回数据_Java调用MySQL存储过程并获得返回值的方法

    本文实例讲述了Java调用MysqL存储过程并获得返回值的方法.分享给大家供大家参考.具体如下: private void empsInDept(Connection myConnect,int de ...

  2. 【Java】 # 使用java调用MySQL的函数、存储过程

    1. 存储过程 1.1 创建函数(代码创建) -- 修改 MySQL 默认的语句结束符号 delimiter $-- 创建函数 CREATE FUNCTION add_sum(num1 INT, nu ...

  3. Java调用mysql的存储过程

    在之前写过一篇博客是如何mysql如何创建存储过程,在这一节中,我们是在原来的基础上来进一步的学习,如何在Java程序中使用Java代码来调用mysql存储过程. mysql创建存储过程:http:/ ...

  4. java调用mysql数据库的基本操作方法

    一.  关于java与mysql数据库的连接: //加载数据库驱动Class.forName("com.mysql.jdbc.Driver");//获取连接//http://bai ...

  5. java 调用mysql视图_java 访问数据库视图 | 学步园

    工作多年调用视图到多次,自己写代码使用视图还是头一回,也觉得新鲜,那就开始呗, 数据库系统是Oracle 1 我用的数据库连接客户端是Navicat ,首先创建视图,其实视图就是调用表的操作,提取自己 ...

  6. java 调用mysql存储过程

    1 import java.sql.CallableStatement; 2 import java.sql.Connection; 3 import java.sql.DriverManager; ...

  7. java 调用 mysql存储过程

    在工作中经常会有需要通过java去调用存储过程的情况,实际工作中可能会有N多个存储过程,各自实现相应的业务场景,而我们需要在不同的地方知道调用某个存储过程,比如从前端请求某个存储过程,或者别的业务模块 ...

  8. java调用MySQL脚本_Java调用SQL脚本执行常用的方法示例

    前言 大家都知道,在Java中调用SQL脚本的方式有多种,在这里只记录一种自己常用的方式,个人觉得挺实用方便的. 运用ScriptRunner这个类. ScriptRunner类用于执行SQL语句,例 ...

  9. java调用MySQL数据库

    Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法.JD ...

最新文章

  1. 【网络协议】TCP分段与UDP/IP分片 (MTU最大传输单元,MSS最大分段大小)
  2. Codeforces Round #746 (Div. 2)
  3. 【音视频安卓开发 (一)】AndroidStudio项目配置权限、jni库路径、ABI、Cmake
  4. 惊呆了!颜值爆表的20+位阿里技术女神同一时间向你发出共事邀请!
  5. python批量导入mysql_用python批量向数据库(MySQL)中导入数据
  6. java 异常总结_Java异常的十大问题总结
  7. redis需要掌握的知识点
  8. 通过python读取ini配置文件
  9. 今天进行的将zzb从apache迁移到nginx
  10. 最新手机号段 归属地数据库(20191210,共439265条,包括最新的号段)
  11. 计算机如何使用键盘复制粘贴,电脑复制粘贴快捷键,小编教你电脑怎么用键盘复制粘贴...
  12. ajax 获取数据太慢,想写个加载中
  13. 上热搜!武大学生用Python敲出樱花开放 | 附源码
  14. win10左右声道音量不一致的解决方法
  15. 在金山云上,“雷布斯”有这些野心
  16. 数据处理方法-算术编码(香农算法、java编码实现)
  17. (dedecms)织梦搬家后无法更新栏目
  18. 中兴 Axon 40 Ultra参数评测 中兴 Axon 40 Ultra配置怎么样 中兴 Axon 40 Ultra值得买吗
  19. Pyecharts : plot Graph, Line, Liquid, Parallel
  20. 计算机考研学长学什么,关于考研的问题,学长们请指教:)

热门文章

  1. 伊利成为澳优第一大股东;Interbrand 2021年全球最佳品牌榜可口可乐、麦当劳排名前十 | 食品饮料新品...
  2. Deformable DETR论文翻译
  3. java wrap()_Java中的CharBuffer wrap()方法
  4. 【ibokan】SEO个人笔记+百度百科详细介绍
  5. 2022电大国家开放大学网上形考任务-建设项目管理非免费(非答案)
  6. python全栈指的是什么_python全栈指的是什么意思
  7. C++多维数组:存储方式、访问方式和作为函数参数
  8. 【ARM】在NUC977上搭建基于boa的嵌入式web服务器
  9. BigDecimal 保留两位小数
  10. 当代最值得收藏的画家作品_名人名画推荐,值得收藏的当代画家作品