JDBC连接MySQL数据库代码
******************************************************1**********************************************************
1 import java.sql.DriverManager;
2 import java.sql.ResultSet;
3 import java.sql.SQLException;
4 import java.sql.Connection;
5 import java.sql.Statement;
6
7
8 public 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 }
******************************************2*****************************************
1 DBHelper.java
2 package com.hu.demo;
3
4 import java.sql.Connection;
5 import java.sql.DriverManager;
6 import java.sql.PreparedStatement;
7 import java.sql.SQLException;
8
9 public class DBHelper {
10 public static final String url = "jdbc:mysql://127.0.0.1/student";
11 public static final String name = "com.mysql.jdbc.Driver";
12 public static final String user = "root";
13 public static final String password = "root";
14
15 public Connection conn = null;
16 public PreparedStatement pst = null;
17
18 public DBHelper(String sql) {
19 try {
20 Class.forName(name);//指定连接类型
21 conn = DriverManager.getConnection(url, user, password);//获取连接
22 pst = conn.prepareStatement(sql);//准备执行语句
23 } catch (Exception e) {
24 e.printStackTrace();
25 }
26 }
27
28 public void close() {
29 try {
30 this.conn.close();
31 this.pst.close();
32 } catch (SQLException e) {
33 e.printStackTrace();
34 }
35 }
36 }
1 Demo.java
2 package com.hu.demo;
3
4 import java.sql.ResultSet;
5 import java.sql.SQLException;
6
7 public class Demo {
8
9 static String sql = null;
10 static DBHelper db1 = null;
11 static ResultSet ret = null;
12
13 public static void main(String[] args) {
14 sql = "select *from stuinfo";//SQL语句
15 db1 = new DBHelper(sql);//创建DBHelper对象
16
17 try {
18 ret = db1.pst.executeQuery();//执行语句,得到结果集
19 while (ret.next()) {
20 String uid = ret.getString(1);
21 String ufname = ret.getString(2);
22 String ulname = ret.getString(3);
23 String udate = ret.getString(4);
24 System.out.println(uid + "\t" + ufname + "\t" + ulname + "\t" + udate );
25 }//显示数据
26 ret.close();
27 db1.close();//关闭连接
28 } catch (SQLException e) {
29 e.printStackTrace();
30 }
31 }
32
33 }
*********************************************3********************************************************
1 /*JDBC
2
3 1. 在Java中,软件功能都是由类来完成的。
4
5 2. 用于操作数据库的类统称为JDBC(java database connective)
6
7 3. 数据库产品比较多(mysql,oracle,sqlserver),java并没有提供访问数据库的JDBC类,这些类都是由数据库厂商提供的。
8
9 4. Java只提供了访问数据库的接口,数据库厂商的类实现了接口。
10
11 5. 在java中操作数据库需要导入数据库厂商提供的类,这些类通常被放在以.jar为扩展名的文件中,这个文件称为jar文件。
12
13 6. 数据库操作通常指的是(CRUD),其本质就是java向数据库中发送sql语句,然后在数据库中执行sql语句 。
14
15 7. 完成数据库操作需要以下接口配合完成
16
17 a) DriverManager 类驱动程序
18
19 b) Connection 接口连接数据库的类
20
21 c) Statement 接口执行sql语句的类
22
23 d) ResultSet 接口保存结果集的类
24
25 JDBC连接mysql数据库代码
26 */
27 import java.sql.*;
28 public class Insert {
29 public static void main(String[] args) {
30 Connection conn =null;//conn用于连接数据库
31 Statement stmt = null;//stmt用于发送sql语句到数据库并执行sql语句
32 //localhost:表示数据库服务器地址,如192.168.0.1
33 //3306表示端口号
34 //test是数据库名称
35 //user是数据库用户名
36 //password是数据库的密码
37 String connectionString = "jdbc:mysql://localhost:3306/test?user=root&password=root";
38
39 try {
40 //将数据驱动程序类加载到内存中
41 Class.forName("org.gjt.mm.mysql.Driver").newInstance();
42
43 //通过驱动程序管理器DriverManager获取连接对象conn,conn连接的服务器和数据库信息在connectionString
44 conn = DriverManager.getConnection(connectionString);
45 stmt = conn.createStatement();
46 String sql ="insert into mytable(username,age) values('色即是空',28)";
47
48 //将sql语句发送到test数据中,并执行,i是影响的行数 >0表示成功 否则表示失败
49 int i = stmt.executeUpdate(sql);
50 if(i>0){
51 System.out.println("哈哈,添加成功啦");
52 }else{
53 System.out.println("哈哈,添加!!!!!成功啦");
54 }
55 } catch (InstantiationException e) {
56 e.printStackTrace();
57 } catch (IllegalAccessException e) {
58 e.printStackTrace();
59 } catch (ClassNotFoundException e) {
60 e.printStackTrace();
61 } catch (SQLException e) {
62 e.printStackTrace();
63 }
64
65 }
66 }
********************************4***************************
1 import java.sql.Connection;
2 import java.sql.DriverManager;
3 import java.sql.SQLException;
4 import java.sql.ResultSet;
5 import java.sql.Statement;
6 import java.sql.*;
7
8 public class BaseConnection {
9 private Connection con = null;
10 protected Connection getCon(){
11 ResultSet rs=null; Statement stmt = null;
12 try {
13 Class.forName("org.gjt.mm.mysql.Driver");
14 String url="jdbc:mysql://192.168.0.10/数据库名?user=USR&password=PWD";
15 conn = DriverManager.getConnection(url);
16
17 stmt = conn.createStatement();
18 } catch (ClassNotFoundException e) {
19 e.printStackTrace();
20 } catch (SQLException e) {
21 e.printStackTrace();
22 }
23 return con;
24 }
25 }
26 /*
27 1、Oracle8/8i/9i数据库(thin模式)
28 Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
29 String url="jdbc:oracle:thin:@localhost:1521:orcl";
30 //orcl为数据库的SID
31 String user="test";
32 String password="test";
33 Connection conn= DriverManager.getConnection(url,user,password);
34
35
36 2、DB2数据库
37 Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
38 String url="jdbc:db2://localhost:5000/sample";
39 //sample为你的数据库名
40 String user="admin";
41 String password="";
42 Connection conn= DriverManager.getConnection(url,user,password);
43
44
45 3、Sql Server7.0/2000数据库
46 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
47 String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
48 //mydb为数据库
49 String user="sa";
50 String password="";
51 Connection conn= DriverManager.getConnection(url,user,password);
52
53
54 4、Sybase数据库
55 Class.forName("com.sybase.jdbc.SybDriver").newInstance();
56 String url =" jdbc:sybase:Tds:localhost:5007/myDB";
57 //myDB为你的数据库名
58 Properties sysProps = System.getProperties();
59 SysProps.put("user","userid");
60 SysProps.put("password","user_password");
61 Connection conn= DriverManager.getConnection(url, SysProps);
62
63
64 5、Informix数据库
65 Class.forName("com.informix.jdbc.IfxDriver").newInstance();
66 String url =
67 "jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;
68 user=testuser;password=testpassword";
69 //myDB为数据库名
70 Connection conn= DriverManager.getConnection(url);
71
72
73 6、MySQL数据库
74 Class.forName("org.gjt.mm.mysql.Driver").newInstance();
75 String url ="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
76 //myDB为数据库名
77 Connection conn= DriverManager.getConnection(url);
78
79
80 7、PostgreSQL数据库
81 Class.forName("org.postgresql.Driver").newInstance();
82 String url ="jdbc:postgresql://localhost/myDB"
83 //myDB为数据库名
84 String user="myuser";
85 String password="mypassword";
86 Connection conn= DriverManager.getConnection(url,user,password);*/
***********************************5**********************************
1 JDBC连接MySQL(假设数据库和jdk环境已经安装好):
2 加载及注册JDBC驱动程序
3 Class.forName("com.mysql.jdbc.Driver");
4
5 Class.forName("com.mysql.jdbc.Driver").newInstance();
6
7 JDBC URL 定义驱动程序与数据源之间的连接
8 标准语法:
9 <protocol(主要通讯协议)>:<subprotocol(次要通讯协议,即驱动程序名称)>:<data source identifier(数据源)>
10
11 MySQL的JDBC URL格式:
12
13 jdbc:mysql//[hostname][:port]/[dbname][?param1=value1][¶m2=value2]….
14
15 示例:jdbc:mysql://localhost:3306/sample_db?user=root&password=your_password
16
17 常见参数:
18
19 user 用户名
20
21 password 密码
22
23 autoReconnect 联机失败,是否重新联机(true/false)
24
25 maxReconnect 尝试重新联机次数
26
27 initialTimeout 尝试重新联机间隔
28
29 maxRows 传回最大行数
30
31 useUnicode 是否使用Unicode字体编码(true/false)
32
33 characterEncoding 何种编码(GB2312/UTF-8/…)
34
35 relaxAutocommit 是否自动提交(true/false)
36
37 capitalizeTypeNames 数据定义的名称以大写表示
38
39 大写表示
40
41 建立连接对象
42
43 String url="jdbc:mysql://localhost:3306/sample_db?user=root&password=your_password";Connection con = DriverManager.getConnection(url);
44
45 建立SQL陈述式对象(Statement Object)
46
47 Statement stmt = con.createStatement();
48
49 执行SQL语句
50
51 executeQuery()
52
53 String query = "select * from test";
54
55 ResultSet rs=stmt.executeQuery(query);
56
57 结果集ResultSet
58
59 while(rs.next())
60
61 {rs.getString(1);rs.getInt(2);}
62
63 executeUpdate()
64
65 String upd="insert into test (id,name) values(1001,xuzhaori)";
66
67 int con=stmt.executeUpdate(upd);
68
69 execute()
70
71 示例:
72
73 try
74
75 {
76
77 }
78
79 catch(SQLException sqle)
80
81 {
82
83 }
84
85 finally
86
87 {
88
89 }
90
91 Java类型和SQL类型 技术手册P421
92
93 PreparedStatement(预编语句)
94
95 PreparedStatement stmt = conn.prepareStatement("insert into test(id,name)values(?,?)");
96
97 stmt.setInt(1,id);
98
99 stmt.setString(2,name);
100
101 注:一旦设定语句的参数值后,就可以多次执行改语句,直到调用clearParameters()方法将他清除为止
102
103 CallableStatement(预储程序)技术手册P430
1 import java.sql.*;
2 publicclass MysqlJdbc {
3 publicstaticvoid main(String args[]) {
4 try {
5 Class.forName("com.mysql.jdbc.Driver"); //加载MYSQL JDBC驱动程序
6 //Class.forName("org.gjt.mm.mysql.Driver");
7 System.out.println("Success loading Mysql Driver!");
8 }
9 catch (Exception e) {
10 System.out.print("Error loading Mysql Driver!");
11 e.printStackTrace();
12 }
13 try {
14 Connection connect = DriverManager.getConnection(
15 "jdbc:mysql://localhost:3306/test","root","198876");
16 //连接URL为 jdbc:mysql//服务器地址/数据库名 ,后面的2个参数分别是登陆用户名和密码
17
18 System.out.println("Success connect Mysql server!");
19 Statement stmt = connect.createStatement();
20 ResultSet rs = stmt.executeQuery("select * from user");
21 //user 为你表的名称
22 while (rs.next()) {
23 System.out.println(rs.getString("name"));
24 }
25 }
26 catch (Exception e) {
27 System.out.print("get data error!");
28 e.printStackTrace();
29 }
30 }
31 }
1 import java.sql.*;
2
3 publicclass Myjproject {
4 publicstaticvoid main(String args[])
5 {
6 try {
7 Class.forName("com.mysql.jdbc.Driver"); //加载MYSQL JDBC驱动程序
8 //Class.forName("org.gjt.mm.mysql.Driver");
9 System.out.println("Success loading Mysql Driver!");
10 }
11 catch (Exception e) {
12 System.out.print("Error loading Mysql Driver!");
13 e.printStackTrace();
14 }
15 try {
16 Connection connect = DriverManager.getConnection( "jdbc:mysql://localhost:3306/test","root","198876");
17
18 int num=100;
19 PreparedStatement Statement=connect.prepareStatement("INSERT INTO user VALUES(?,?)");
20 for(int i=0;i<num;i++) //定义个100次的循环,往表里插入一百条信息。
21 {
22 Statement.setString(1,"chongshi"+i);
23 Statement.setString(2,"bo"+i);
24 Statement.executeUpdate();
25 }
26
27 // } catch (ClassNotFoundException e) {
28 // TODO Auto-generated catch block
29 // System.out.println("An error has occurred:"+e.toString());
30 // e.printStackTrace();
31 }catch(SQLException e)
32 {
33 }
34 }
35 }
JDBC连接MySQL数据库代码的更多相关文章
- JDBC连接MySQL数据库代码模板
下面这个例子是最简单的JDBC连接MySQL数据库的例子. 一般步骤: 1.注册驱动: 2.建立连接: 3.创建语句: 4.处理结果: 5.释放资源. 注意: 1.软件开发环境:MyEclipse 8 ...
- java jdbc 连接mysql数据库 实现增删改查
好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...
- Crystal Reports 2008(水晶报表) JDBC连接mysql数据库
在本blog中,主要介绍的是Crystal Reports 2008使用JDBC连接mysql数据库. 在连接之间,首先要确认你电脑上面都安装了mysql数据库. 其次,就是jdbc连接数据时候所使用 ...
- JDBC连接MySQL数据库及演示样例
JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...
- JDBC连接MySQL数据库及示例
JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一 ...
- java用JDBC连接MySQL数据库的详细知识点
想实现java用JDBC连接MySQL数据库.需要有几个准备工作: 1.下载Connector/J的库文件,下载Connector/J的官网地址:http://www.mysql.com/downlo ...
- 分页查询信息(使用jdbc连接mysql数据库实现分页查询任务)
分页查询信息 使用jdbc连接mysql数据库实现分页查询任务 通过mysql数据库提供的分页机制,实现商品信息的分页查询功能,将查询到的信息显示到jsp页面上. 本项目 ...
- JDBC——使用JDBC连接MySQL数据库
在JDBC--什么是JDBC一文中我们已经介绍了JDBC的基本原理. 这篇文章我们聊聊如何使用JDBC连接MySQL数据库. 一.基本操作 首先我们需要一个数据库和一张表: CREATE DATABA ...
- ava基础MySQL存储过程 Java基础 JDBC连接MySQL数据库
1.MySQL存储过程 1.1.什么是存储过程 带有逻辑的sql语句:带有流程控制语句(if while)等等 的sql语句 1.2.存储过程的特点 1)执行效率非常快,存储过程是数据库的服 ...
随机推荐
- 1.1 jvm核心类加载器--jdk源码剖析
目录 前提: 运行环境 1. 类加载的过程 1.1 类加载器初始化的过程 1.2 类加载的过程 1.3 类的懒加载 2. jvm核心类加载器 3. 双亲委派机制 4. 自定义类加载器 5. tomca ...
- 前端规范之Git工作流规范(Husky + Comminilint + Lint-staged)
代码规范是软件开发领域经久不衰的话题,几乎所有工程师在开发过程中都会遇到或思考过这一问题.而随着前端应用的大型化和复杂化,越来越多的前端团队也开始重视代码规范.同样,前段时间,笔者所在的团队也开展了一 ...
- DL4J实战之二:鸢尾花分类
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 如何基于Jupyter notebook搭建Spark集群开发环境
摘要:本文介绍如何基于Jupyter notebook搭建Spark集群开发环境. 本文分享自华为云社区<基于Jupyter Notebook 搭建Spark集群开发环境>,作者:apr鹏 ...
- BootstrapBlazor 模板安装
原文地址:https://www.cnblogs.com/ysmc/p/15400270.html Bootstrap Blazor Project Template 为方便大家的使用,Bootstr ...
- WIN10下的VMware与Docker冲突的解决方案
VMARE版本升级到15.5以上 WIN10升级到2004版本以上 Hyper-V为开启状态
- 2020.10.17-pta天梯练习赛补题
7-5敲笨钟 微博上有个自称"大笨钟V"的家伙,每天敲钟催促码农们爱惜身体早点睡觉.为了增加敲钟的趣味性,还会糟改几句古诗词.其糟改的方法为:去网上搜寻压"ong&quo ...
- 【UE4 C++】UKismetMathLibrary 源代码
// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" # ...
- 【UE4 C++】 UDataAsset、UPrimaryDataAsset 的简单使用
UDataAsset 简介 用来存储数据,每一个DataAsset 都是一份数据 可以派生,系统自带派生 UPrimaryDataAsset 方便数据对象的加载和释放 可以引用其他的 UDataAss ...
- 软件工程个人博客作业-软件案例分析:VS与VS Code
项目 内容 本作业属于北航 2020 年春软件工程 博客园班级连接 本作业是本课程个人项目作业 作业要求 我在这个课程的目标是 提高软件开发能力.团队协作能力 这个作业在哪个具体方面帮助我实现目标 提 ...