JDBC:

  Java DataBase Connectivity 是java程序连接存取数据库的应用程序接口

  (是sun公司的程序员定义的一套操作数据库的规则,然后下面的各个公司如:mysql,sql sever ,sqlyog等各自实现接口中的方法就是驱动,每个数据库的驱动都不相同

    就像Java中的类一样,Java定义一个接口,下边各个类实现接口中的方法内容都不相同)

  在连接数据库前,需要在项目文件中与src同级的文件中创建文件夹lib,并将mysql-connector-java-5.1.45-bin.jar文件导入项目中,eclipse是build path,idea是add as libary

  jdbc快速入门:

package com.zs.Demo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement; public class JDBCDemo {
public static void main(String[] args) throws Exception {
// 1.加载注册驱动
Class.forName("com.mysql.jdbc.Driver");
// 2.获得连接
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/qy97", "root", "123456");
// 查看是否连接数据库成功
System.out.println(conn);
// 3.构建sql语句
String sql="update product set sname='华为' where id=2;";
// 4.创建执行sql语句对象Statement
Statement stat = conn.createStatement();
// 5.执行sql语句
stat.executeUpdate(sql);
// 6.释放资源
stat.close();
conn.close();
}
}

  我们建一个数据表来方便进行操作,上面代码需要以下面的数据库表为基础

use qy97;
create table product(
id int primary key auto_increment,
sname varchar(50),
sprice double
);
insert into product values
(1,'小米',5000.12),
(2,'oppo',4000.54),
(3,'vivo',1999.99);

最上面的jdbc快速入门中,写到的executeUpdate()方法,该方法只能执行insert,update ,delete语句,执行查询语句是,需要用到executeQuery()方法

示例:

package com.zs.Demo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement; public class JDBCDemo2 {
// 查询数据库操作
public static void main(String[] args) throws Exception {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/qy97", "root", "123456");
String sql="select * from product ";
Statement stat = conn.createStatement();
// 调用executeQuery()该方法得到的结果是一个结果集
ResultSet rs = stat.executeQuery(sql);
// 使用循环语句输出结果
while(rs.next()){
System.out.print("id:"+rs.getString("id"));
System.out.print("sname:"+rs.getString("sname"));
System.out.print("sprice:"+rs.getString("sprice"));
}
stat.close();
conn.close();
}
}

在之前写Properties类时,我们讲过,当用户更换数据库或者更改数据库账号密码时,那么程序就无法连接数据库了,需要重新找程序员在代码中更改,数据库连接信息,这样是很不方便的,所以我们当时写到,编写一个外部properties文件,将数据库的账号密码信息放在文件中,这样用户就可以通过记事本来更换数据库了,具体实现代码如下:

1.编写外部Properties文件 sql.properties,存放驱动,数据库连接地址,数据库名,密码

driver:com.mysql.jdbc.Driver
url:jdbc:mysql://localhost:3306/qy97
dbuser:root
dbpwd:123456

2.建立读取文件内容,建立连接

package com.zs.Demo;

import java.io.FileInputStream;
import java.sql.*;
import java.util.Properties; public class JDBCDemo3 {
private static String driver;
private static String url;
private static String dbuser;
private static String dbpwd;
private static Connection conn=null;
JDBCDemo3(){
try {
// 获得数据库连接信息
getSqlInfo();
// 链接数据库
connectSql();
//编写数据库语句
String sql="select * from product";
// 执行数据库语句
executeSql(sql);
} catch (Exception e) {
e.printStackTrace();
}
} private void executeSql(String sql) throws SQLException {
Statement stat = conn.createStatement();
ResultSet rs = stat.executeQuery(sql);
while(rs.next()){
System.out.println("id:"+rs.getString("id")+
",name:" + rs.getString("sname")+
",price:" +rs.getString("sprice"));
}
stat.close();
conn.close();
} private void connectSql() throws Exception {
if(conn==null){
Class.forName(driver);
conn=DriverManager.getConnection(url,dbuser,dbpwd);
System.out.println(conn);
}
} private void getSqlInfo() throws Exception {
FileInputStream f=new FileInputStream("E:\\workspace\\ZsProjects\\day37\\src\\sql.properties");
Properties p=new Properties();
p.load(f);
driver = p.getProperty("driver");
url = p.getProperty("url");
dbuser = p.getProperty("dbuser");
dbpwd = p.getProperty("dbpwd");
f.close();
} public static void main(String[] args) {
new JDBCDemo3();
}
}

这样就可以读取文件建立连接,用户更改数据库时,直接记事本打开文件就可以更改数据库

Java学习笔记36(jdbc快速入门)的更多相关文章

  1. MyBatis学习笔记(一)——MyBatis快速入门

    转自孤傲苍狼的博客:http://www.cnblogs.com/xdp-gacl/p/4261895.html 一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优 ...

  2. 【Python】【学习笔记】1.快速入门

    1.软件安装 从官网下载相应版本的安装包,一般不大. https://www.python.org/ 安装一路默认即可 2. 参考教程:快速入门:十分钟学会Python 本文的内容介于教程(Totur ...

  3. JAVA学习笔记 (一、入门及前期准备)

    博主本来只是会一点python,但是换了新公司这边用的java,边学习边总结吧,共勉之. 一.认识 java (1)java分为三类 JavaSE 基础核心 JaveEE web方向(企业版) Jav ...

  4. 10.3(Java学习笔记)JDBC时间操作

    一.时间分类 数据库     java类 Date  ---- java.sql.Date   表示日期 yyyy-MM--dd (年月日) Time  ----java.sql.Time    表示 ...

  5. 10.2(java学习笔记)JDBC事务简述

    一.事务 事务是指作为一系列操作组成的一个整体,该整体只有两种状态,要么全部执行,要么全部不执行. 当组成这个事务的所有语句都执行成功则该事务执行,只要有一条语句执行失败则该事务不执行. 假设这里有一 ...

  6. 10.1(java学习笔记)JDBC基本操作(连接,执行SQL语句,获取结果集)

    一.JDBC JDBC的全称是java database connection java数据库连接. 在java中需要对数据库进行一系列的操作,这时就需要使用JDBC. sun公司制定了关于数据库操作 ...

  7. Java学习笔记36(File类)

    File类可以对操作系统中的文件进行操作: File类的静态成员变量: package demo; import java.io.File; public class FileDemo { publi ...

  8. 前端学习笔记之ES6快速入门

    0x1 let和const let ES6新增了let命令,用于声明变量.其用法类似var,但是声明的变量只在let命令所在的代码块内有效. { let x = 10; var y = 20; } x ...

  9. 《C++ 101条建议》学习笔记——第一章快速入门

    1.C++程序组成:a.编译指示,由#开始,不由分号结束.只是影响编译过程.b.声明语句,影响编译过程,编译结果中并不会生成对应的指令.只是告诉编译器一些信息.c.可执行过程语句,生成对应的指令.包括 ...

随机推荐

  1. python爬虫——对爬到的数据进行清洗的一些姿势(5)

    做爬虫,当然就要用数据.想拿数据进行分析,首先清洗数据.这个清洗数据包括清除无用数据列和维度,删除相同数据,对数据进行勘误之类的. 从各大不同新闻网站可以爬到重复新闻...这个可以有.之前为了对爬到的 ...

  2. rabbitmq 配置集群镜像

  3. vs相同变量高亮显示

    https://blog.csdn.net/sinat_33718563/article/details/79241129 在VS2010中调试工程中,常常需要观察相同变量名在不同代码处的位置,VS默 ...

  4. 变量和关系符和JAVA基本类型笔记与常考面试题

    变量的类型:数值型:整型(byte,short,int,long).浮点型(float,double)非数值型:布尔类型(boolean),字符型(char),字符串类型(String),其他引用型 ...

  5. MySQL 实战笔记

    01 | 基础架构:一条SQL查询语句是如何执行的? 大体可以分为: Server 层:包含了连接器.查询缓存.分析器.优化器.执行器,跨存储引擎的功能都在这一层实现的,比如存储过程.触发器.视图等. ...

  6. C#树类型及其遍历

    最近有个项目不仅需要取部门的层级关系,还要处理不规则的关系(移除某个部门),只有树结构才能实现相关遍历和操作. 涉及到的知识点:泛型.递归.数据结构 既然研究树类型就先来看下树的定义: 一棵树(tre ...

  7. Query the tables and index which will caus rebuild index fail

    On MSSQL server database, while rebuild index failed, we can use the follow sql statement to see if ...

  8. webpack引入eslint详解

  9. js获取css样式封装

    封装 function getStyle(obj , attr){ return obj.currentStyle?obj.currentStyle[attr]:getComputedStyle(ob ...

  10. SASS 简单实用

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...