java与MySQL数据库的连接
1.数据库的安装和建立参见上一篇博客中的第1,2步骤。(http://blog.csdn.net/nuptboyzhb/article/details/8043091)
或使用SQL语句
- # ubuntu Linux
- sudo mysql -u root -p
- #Windows 7(mysql.exe)
- create database testdb;
- use testdb;
- CREATE TABLE `name_table` (
- `_id` int(11) NOT NULL,
- `name` varchar(32) CHARACTER SET utf8,
- `age` int(11) NOT NULL,
- `work` varchar(32) CHARACTER SET utf8,
- `others` varchar(512) CHARACTER SET utf8 DEFAULT NULL,
- PRIMARY KEY (`_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2.Eclipse的配置。
导入包mysql-connector-java-5.0.5-bin.jar

3.java代码的编写
[java code]
- /*
- *@author: ZhengHaibo
- *web: blog.csdn.net/nuptboyzhb
- *mail: zhb931706659@126.com
- *2012-10-6 Nanjing njupt
- */
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- public class helloworld {
- private Connection conn = null;
- PreparedStatement statement = null;
- // connect to MySQL
- void connSQL() {
- String urle = "jdbc:mysql://localhost:3306/testdb";//port:3306 database:testdb
- String username = "root";//user
- String password = "931706659";//password
- try {
- Class.forName("com.mysql.jdbc.Driver" );//加载驱动,连接数据库
- conn = DriverManager.getConnection(urle,username, password );
- }
- //捕获加载驱动程序异常
- catch ( ClassNotFoundException cnfex ) {
- System.err.println(
- "装载 JDBC/ODBC 驱动程序失败。" );
- cnfex.printStackTrace();
- }
- //捕获连接数据库异常
- catch ( SQLException sqlex ) {
- System.err.println( "无法连接数据库" );
- sqlex.printStackTrace();
- }
- }
- // disconnect to MySQL
- void deconnSQL() {
- try {
- if (conn != null)
- conn.close();
- } catch (Exception e) {
- System.out.println("关闭数据库问题 :");
- e.printStackTrace();
- }
- }
- // execute selection language
- ResultSet selectSQL(String sql) {
- ResultSet rs = null;
- try {
- statement = conn.prepareStatement(sql);
- rs = statement.executeQuery(sql);
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return rs;
- }
- // execute insertion language
- boolean insertSQL(String sql) {
- try {
- statement = conn.prepareStatement(sql);
- statement.executeUpdate();
- return true;
- } catch (SQLException e) {
- System.out.println("插入数据库时出错:");
- e.printStackTrace();
- } catch (Exception e) {
- System.out.println("插入时出错:");
- e.printStackTrace();
- }
- return false;
- }
- //execute delete language
- boolean deleteSQL(String sql) {
- try {
- statement = conn.prepareStatement(sql);
- statement.executeUpdate();
- return true;
- } catch (SQLException e) {
- System.out.println("插入数据库时出错:");
- e.printStackTrace();
- } catch (Exception e) {
- System.out.println("插入时出错:");
- e.printStackTrace();
- }
- return false;
- }
- //execute update language
- boolean updateSQL(String sql) {
- try {
- statement = conn.prepareStatement(sql);
- statement.executeUpdate();
- return true;
- } catch (SQLException e) {
- System.out.println("插入数据库时出错:");
- e.printStackTrace();
- } catch (Exception e) {
- System.out.println("插入时出错:");
- e.printStackTrace();
- }
- return false;
- }
- // show data in ju_users
- void layoutStyle2(ResultSet rs) {
- System.out.println("-----------------");
- System.out.println("执行结果如下所示:");
- System.out.println("-----------------");
- System.out.println(" id" + "\t\t" + "name" +"\t\t" + "age" + "\t\t" +"work"+ "\t\t" + "others");
- System.out.println("-----------------");
- try {
- while (rs.next()) {
- System.out.println(rs.getInt("_id") + "\t\t"
- + rs.getString("name") + "\t\t"
- +rs.getInt("age") + "\t\t"
- + rs.getString("work")+ "\t\t"
- + rs.getString("others"));
- }
- } catch (SQLException e) {
- System.out.println("显示时数据库出错。");
- e.printStackTrace();
- } catch (Exception e) {
- System.out.println("显示出错。");
- e.printStackTrace();
- }
- }
- public static void main(String args[]) {
- helloworld h = new helloworld();
- h.connSQL();
- String s = "select * from name_table";
- String insert = "insert into name_table(_id,name,age,work,others) values("+15+",'csdn',"+24+",'M.S.','nupt')";
- String update = "update name_table set age =19 where name= 'zhb'";
- String delete = "delete from name_table where name= 'csdn'";
- if (h.insertSQL(insert) == true) {
- System.out.println("insert successfully");
- ResultSet resultSet = h.selectSQL(s);
- h.layoutStyle2(resultSet);
- }
- if (h.updateSQL(update) == true) {
- System.out.println("update successfully");
- ResultSet resultSet = h.selectSQL(s);
- h.layoutStyle2(resultSet);
- }
- if (h.insertSQL(delete) == true) {
- System.out.println("delete successfully");
- ResultSet resultSet = h.selectSQL(s);
- h.layoutStyle2(resultSet);
- }
- h.deconnSQL();
- }
- }
整个项目的源代码:http://download.csdn.net/detail/nuptboyzhb/4620059
4.实验结果
[image]

java与MySQL数据库的连接的更多相关文章
- Java对MySQL数据库进行连接、查询和修改(转)
Java对MySQL数据库进行连接.查询和修改 0. 一般过程: (1) 调用Class.forName()方法加载驱动程序. (2) 调用DriverManager对象的getConnection( ...
- Java对MySQL数据库进行连接、查询和修改【转载】
一般过程: (1) 调用Class.forName()方法加载驱动程序. (2) 调用DriverManager对象的getConnection()方法,获得一个Connection对象. (3) 创 ...
- java操作MySQL数据库(插入、删除、修改、查询、获取所有行数)
插播一段广告哈:我之前共享了两个自己写的小应用,见这篇博客百度地图开发的两个应用源码共享(Android版),没 想到有人找我来做毕设了,年前交付,时间不是很紧,大概了解了下就接下了,主要用到的就是和 ...
- 写给小白的JAVA链接MySQL数据库的步骤(JDBC):
作为复习总结的笔记,我罗列了几个jdbc步骤,后边举个简单的例子,其中的try块请读者自行处理. /* * 1.下载驱动包:com.mysql.jdbc.Driver;网上很多下载资源,自己找度娘,此 ...
- MySQL入门很简单: 15 java访问MySQL数据库
1. 连接数据库 1.1 下载安装驱动 java通过JDBC(Java Database Connectivity,Java数据库连接)来访问MySQL数据库.JDBC的编程接口提供的接口和类与MyS ...
- [JavaWeb基础] 003.JAVA访问Mysql数据库
上面两篇讲解了简单的JSP + Servlet的搭建和请求,那么后面我们肯定要用到数据交互,也就是操纵数据库的数据,包括对数字的增加,删除,修改,查询.我们就用简单的MySql来做例子 我们需要引入驱 ...
- Java实现MySQL数据库导入
距离上班还有一段时间.现在总结一下如何使用Java语言实现MySQL数据库导入: 首先新建名为test的数据库: 其次执行下面Java代码: import java.io.File; import j ...
- Java实现MySQL数据库备份(二)
权声明:本文为博主原创文章,未经博主允许不得转载. 博客<Java实现MySQL数据库备份(一)>使用I/O流的方式实现了MySQL数据库的备份,这种方法比较繁杂,下面介绍另一种备份MyS ...
- MySQL数据库远程连接
12.00 MySQL数据库远程连接 参考: http://www.jb51.net/article/24508.htm http://www.linuxdiyf.com/viewarticle.ph ...
随机推荐
- Debian9安装Metasploit
参考博文:https://www.jianshu.com/p/ea0629b9e367 0x0 添加Kali源 deb http://http.kali.org/kali kali-rolling m ...
- 吴裕雄--天生自然Python Matplotlib库学习笔记:matplotlib绘图(2)
import numpy as np import matplotlib.pyplot as plt fig = plt.figure() fig.subplots_adjust(bottom=0.0 ...
- lc 0219
目录 ✅ 463. 岛屿的周长 描述 解答 cpp py ✅ 1122. 数组的相对排序 描述 解答 cpp py ✅ 876. 链表的中间结点 描述 解答 cpp ✅ 1160. 拼写单词 描述 解 ...
- 【PAT甲级】1051 Pop Sequence (25 分)(栈的模拟)
题意: 输入三个正整数M,N,K(<=1000),分别代表栈的容量,序列长度和输入序列的组数.接着输入K组出栈序列,输出是否可能以该序列的顺序出栈.数字1~N按照顺序随机入栈(入栈时机随机,未知 ...
- linux动态监控dstat&&glances&&psutil&&bottle
安装dstat yum install dstat 安装glances yum install python-devel pip install glances 如果我们安装了 Bottle 这个 w ...
- nginx 的提升多个小文件访问的性能模块
阿里开源的第三方模块下载地址:https://github.com/alibaba/nginx-http-concat 下载模块 git clone https://github.com/alibab ...
- GO测试
测试 Go拥有一个轻量级的测试框架,它由 go test 命令和 testing 包构成. 你可以通过创建一个名字以 _test.go 结尾的,包含名为 TestXXX 且签名为 func (t *t ...
- 动态代理Cglib
jar包 <!-- https://mvnrepository.com/artifact/cglib/cglib --><dependency> <groupId> ...
- js缓慢滑块
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- NLP的比赛和数据集
整理了NLP领域的比赛.数据集.模型 比赛 网站 主办方(作者) decaNLP http://decanlp.com/ Salesforce CLUE https://github.com/CLUE ...