JDBC连接MySQL数据库的方法和实例

1import java.sql.DriverManager; 2import java.sql.ResultSet; 3import java.sql.SQLException; 4import java.sql.Connection; 5import java.sql.Statement; 6 7 8public class MysqlDemo { 9 public static void main(String[] args) throws Exception { 10 Connection conn = null; 11 String sql; 12 // MySQL的JDBC URL编写方式:jdbc:mysql://主机名称:连接端口/数据库的名称?参数=值 13 // 避免中文乱码要指定useUnicode和characterEncoding 14 // 执行数据库操作之前要在数据库管理系统上创建一个数据库,名字自己定, 15 // 下面语句之前就要先创建javademo数据库 16 String url = "jdbc:mysql://localhost:3306/javademo?" 17 + "user=root&password=root&useUnicode=true&characterEncoding=UTF8"; 18 19 try { 20 // 之所以要使用下面这条语句,是因为要使用MySQL的驱动,所以我们要把它驱动起来, 21 // 可以通过Class.forName把它加载进去,也可以通过初始化来驱动起来,下面三种形式都可以 22 Class.forName("com.mysql.jdbc.Driver");// 动态加载mysql驱动 23 // or: 24 // com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver(); 25 // or: 26 // new com.mysql.jdbc.Driver(); 27 28 System.out.println("成功加载MySQL驱动程序"); 29 // 一个Connection代表一个数据库连接 30 conn = DriverManager.getConnection(url); 31 // Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等 32 Statement stmt = conn.createStatement(); 33 sql = "create table student(NO char(20),name varchar(20),primary key(NO))"; 34 int result = stmt.executeUpdate(sql);// executeUpdate语句会返回一个受影响的行数,如果返回-1就没有成功 35 if (result != -1) { 36 System.out.println("创建数据表成功"); 37 sql = "insert into student(NO,name) values('2012001','陶伟基')"; 38 result = stmt.executeUpdate(sql); 39 sql = "insert into student(NO,name) values('2012002','周小俊')"; 40 result = stmt.executeUpdate(sql); 41 sql = "select * from student"; 42 ResultSet rs = stmt.executeQuery(sql);// executeQuery会返回结果的集合,否则返回空值 43 System.out.println("学号\t姓名"); 44 while (rs.next()) { 45 System.out 46 .println(rs.getString(1) + "\t" + rs.getString(2));// 入如果返回的是int类型可以用getInt() 47 } 48 } 49 } catch (SQLException e) { 50 System.out.println("MySQL操作错误"); 51 e.printStackTrace(); 52 } catch (Exception e) { 53 e.printStackTrace(); 54 } finally { 55 conn.close(); 56 } 57 58 } 59 60}
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )