Java操作Mysql笔记
第一步,需要下载JDBC驱动, 点我。然后选择合适的版本即可。
下载完成之后解压,然后将mysql-connector-java-5.1.6-bin.jar文件放到java的安装目录下面。
这里每个人的安装路径不同,需要找到自己的路径。
第二步,需要在mysql下新建一个数据库,这个很简单,比如create database test;
然后use test;来切换当前正在使用的数据库。
还需要新建一张表,因为下面我们的一些操作是在表上进行的。
第三步,加载JDBC驱动,连接数据库。
下面代码仅供参考,在我的机器上可以执行。
import java.sql.*;
import java.util.jar.JarException; public class DBManager {
// 用户名
private String user = "";
// 密码
private String password = "";
// 主机
private String host = "";
// 数据库名字
private String database = "";
/*
*
* private String
* url="jdbc:mysql://"+host+"/"+"useUnicode=true&characterEncoding=GB2312";
*/
private String url = "";
private Connection con = null;
Statement stmt;
/**
*
* 根据主机、数据库名称、数据库用户名、数据库用户密码取得连接。
*
* @param host
* String
*
* @param database
* String
*
* @param user
* String
*
* @param password
* String
*/
public DBManager(String host, String database, String user, String password) {
this.host = host;
this.database = database;
this.user = user;
this.password = password;
// 显示中文
this.url = "jdbc:mysql://" + host + "/" + database;
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.err.println("class not found:" + e.getMessage());
}
try {
con = DriverManager.getConnection(this.url, this.user,
this.password);
// 连接类型为ResultSet.TYPE_SCROLL_INSENSITIVE,
// ResultSet.CONCUR_READ_ONLY
stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
} catch (SQLException a) {
System.err.println("sql exception:" + a.getMessage());
}
}
/**
*
* 返回取得的连接
*/
public Connection getCon() {
return con;
}
/**
*
* 执行一条简单的查询语句
*
* 返回取得的结果集
*/
public ResultSet executeQuery(String sql) {
ResultSet rs = null;
try {
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
/**
*
* 执行一条简单的更新语句
*
* 执行成功则返回true
*/
public boolean executeUpdate(String sql) {
boolean v = false;
try {
v = stmt.executeUpdate(sql) > 0 ? true : false;
} catch (SQLException e) {
e.printStackTrace();
} finally {
return v;
}
}
public static void main(String[] args) throws java.lang.NullPointerException{
ResultSet rs;
DBManager exe = new DBManager("127.0.0.1", "test", "root", "118118"); rs = exe.executeQuery("SELECT * FROM student"); try {
ResultSetMetaData meta_data = rs.getMetaData();//列名
for (int i_col = 1; i_col <= meta_data.getColumnCount(); i_col++) {
System.out.print(meta_data.getColumnLabel(i_col) + " ");
}
System.out.println();
while (rs.next()) {
for (int i_col = 1; i_col <= meta_data.getColumnCount(); i_col++) {
System.out.print(rs.getString(i_col) + " ");
}
System.out.println();
}
} catch (Exception e) { }
}
}
Java操作Mysql笔记的更多相关文章
- 总结java操作MySQL 即JDBC的使用
java.sql包中存在DriverManager类,Connection接口,Statement接口和ResultSet接口.类和接口作用如下: DriverManager:主要用于管理驱动程序和连 ...
- java操作MySQL数据库(插入、删除、修改、查询、获取所有行数)
插播一段广告哈:我之前共享了两个自己写的小应用,见这篇博客百度地图开发的两个应用源码共享(Android版),没 想到有人找我来做毕设了,年前交付,时间不是很紧,大概了解了下就接下了,主要用到的就是和 ...
- Java 操作MySql数据库
Java 项目开发中数据库操作是很重要的一个方面,对于初学者来说,MySql是比较容易熟悉的一种常见数据库,这篇文章记录了如何用Java来操作MySql数据库. 第一章 JDBC的概念 JDBC(Ja ...
- JAVA操作mysql(如何更加面向对象的操作数据库)
既然谈到面向对象,所以,先把连接信息给搞个对象出来: public class DBInfo { private String driver; private String host; private ...
- eclipse环境下,java操作MySQL的简单演示
首先先通过power shell 进入MySQL 查看现在数据库的状态(博主是win10系统) 右键开始,选择Windows powershell ,输入MySQL -u用户名 -p密码 选择数据库( ...
- JAVA操作Mysql数据库
String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://127.0.0.1:3306/ph ...
- java操作MySQL数据事务的简单学习
在执行数据更改操作前使用数据库连接对象调用setAutoCommit方法(conn.setAutoCommit(false)),其参数true或false区别: true:sql命令的提交(commi ...
- java操作mysql的增删改查
prepareStatement(sql)是statement的子类,比statement好用. 如果数据库中定义的是int值,那么sql语句中要把int单独提出来.如".....value ...
- JAVA操作mysql
所需jar包:mysql-connector-java.jar 代码: import java.sql.*; import java.util.ArrayList; import java.util. ...
随机推荐
- DNS的解析过程
1.什么是DNS 在互联网上,唯一标识一台计算机的是IP地址,但是IP地址不方便记忆,通过一个域名对应一个IP地址,来达到找到IP地址的目的,那么DNS就是将域名转换成IP地址的过程. 2.DNS查询 ...
- NOIP2016 解题报告
D1T1 玩具谜题 xjb模拟即可 #include<bits/stdc++.h> #define N (100000+5) using namespace std; inline int ...
- Big Number HDU - 1212
As we know, Big Number is always troublesome. But it's really important in our ACM. And today, your ...
- error C2146: 语法错误: 缺少“;”(在标识符“CRC”的前面) ...\...\MyMethod.h
错误原因:头文件的顺序错误,这种情况一般是因为dxsdk的头文件放在其他头文件前面了. 问题复现: 这里如果将#include <ReadDataThreadClass.h>放到最末尾就不 ...
- Python中好用的模块们
目录 Python中好用的模块们 datetime模块 subprocess模块 matplotlib折线图 importlib模块 Python中好用的模块们 datetime模块 相信我们都使 ...
- 外引js — 先引入cdn,cdn失效时引入本地js
参考:http://www.tianshan277.com/563.html 效果: html: <!DOCTYPE html> <html lang="en"& ...
- UBOOT的的 C 语言代码部分
调用一系列的初始化函数 1. 指定初始函数表: init_fnc_t *init_sequence[] = { cpu_init, /* cpu 的基本设置 */ ...
- Python全栈开发:冒泡排序
#!/usr/bin/env python # -*- coding;utf-8 -*- """ 第一次对比:找到最大值,放到最后 对比是两两对比,对比的两个数组合共有l ...
- JavaScript中定义函数的几种方式
函数的组成:函数名 + 函数体 1.使用function关键字定义函数 -- 具有优先级,优先将function关键字定义的函数优先执行 function functionName(arg0, ar ...
- leetcode-80-删除排序数组中的重复项②
题目描述: 第一次提交: class Solution: def removeDuplicates(self, nums: List[int]) -> int: nums.reverse() f ...