`
nullpointsun
  • 浏览: 35113 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

JavaWeb数据库之JDBC链接

阅读更多

这些年一直在做移动方面的开发,发现原来做Web时那些个种种都忘光光了,呵呵,不能忘本,从今天开始把之前学到的一些东西总结总结,从最基础的JDBC开始吧,尽管JDBC几乎应该时不会有人用了,不过既然时基础,自然有其道理,很多框架,比如hibernate其实也就是在其上套了一层而已。


1.准备数据库,看来看去还是mySQL顺眼,什么Oracel太大,用的地方也不多,大部分企业mySQL足够了

mySQL如今已经给oracle收购了!我是多久没关注web了,罪过!

https://dev.mysql.com/downloads/mysql/

霹雳啪啦一顿装,搞定它


2.建一个简单的数据库(mysql有一个自动的cmd工具可以用,除非是远程操作,本地直接用就行了)

 mysql>show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| mytestdb           |
| performance_schema |
| sakila             |
| sys                |
| world              |
+--------------------+
7 rows in set (0.00 sec)



然后又是霹雳啪啦

 mysql> use mytestdb
Database changed
mysql> create table user(id int not null primary key, name char(20));
Query OK, 0 rows affected (0.05 sec)

mysql> show tables
    -> ;
+--------------------+
| Tables_in_mytestdb |
+--------------------+
| t_user             |
| user               |
+--------------------+
2 rows in set (0.00 sec)



差不多就这么建好了,有一个要注意的地方,sql语句是要以;结束的,我给老忘了这事

3. 准备Java这边吧
首先需要一个mysql和java连接的jar包
C:\Program Files (x86)\MySQL\Connector.J 5.1 这个目录下就能找到,不用去网上下了,若没有,可以自带的什么conector再下一个


然后buidpath一下,把它加到依赖库里面


然后建两个类,把DBhelper.java放到db package下

package com.nullpointsun.app.db;

import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;

public class DBHelper {

	/*
	 * SQL数据库的地址,这里后面是可以跟很多参数的 建议有空还是看一下官网,可能有些参数有用
	 ** https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-
	 * configuration-properties.html
	 */
	private static final String URL = "jdbc:mysql://127.0.0.1:3306/mytestdb";

	// 用户名密码
	private static final String USR = "root";
	private static final String PASW = "root";

	public static Connection conn;
	public static DBHelper dbHelper;

	// 连接数据库
	private DBHelper() {
		try {
			Class.forName("com.mysql.jdbc.Driver");
			conn = (Connection) DriverManager.getConnection(URL, USR, PASW);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		System.out.println("DB connect successful!");
	}

	public synchronized static DBHelper getInstance() {
		if (dbHelper == null) {
			dbHelper = new DBHelper();
		}
		return dbHelper;
	}

	// 断开数据库
	public void closeDB() {
		try {
			conn.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	//直接丢SQL语句到这里就可以了, update是更新执行
	//executeUpdate(String sql)会返回一个int值,这个值是执行语句描述会影响哪些行,若-1表示执行失败
	public int executeUpdateSQL(String sql) {
		if (conn != null) {
			try {
				Statement sm =  (Statement) conn.createStatement();
				return sm.executeUpdate(sql);
			} catch (SQLException e) {
				e.printStackTrace();
				return -2;
			}
		} else {
			System.out.println("connection is null!");
			return -2;
		}
	}
	
	//查询语句
	public ResultSet executeQuerySQL(String sql) {
		if (conn != null) {
			try {
				Statement sm =  (Statement) conn.createStatement();
				return sm.executeQuery(sql);
			} catch (SQLException e) {
				e.printStackTrace();
				return null;
			}
		} else {
			System.out.println("connection is null!");
			return null;
		}
	}

}



package com.nullpointsun.app;

import java.sql.ResultSet;
import java.sql.SQLException;

import com.nullpointsun.app.db.DBHelper;

public class Main {
	
	public static void main(String[] args) {
		DBHelper db = DBHelper.getInstance();
		ResultSet rs = null;
		
		//删除限制表里面所有的记录
		String delete = "delete from user where 1=1";
		db.executeUpdateSQL(delete);
		
		//插入5条记录
		String sql_insrt1 = "insert into user values (1, 'jeff')";
		String sql_insrt2 = "insert into user values (2, 'nullpointer')";
		String sql_insrt3 = "insert into user values (3, 'jasky')";
		String sql_insrt4 = "insert into user values (4, 'Tom')";
		String sql_insrt5 = "insert into user values (5, 'Jarry')";
		db.executeUpdateSQL(sql_insrt1);
		db.executeUpdateSQL(sql_insrt2);
		db.executeUpdateSQL(sql_insrt3);
		db.executeUpdateSQL(sql_insrt4);
		db.executeUpdateSQL(sql_insrt5);
		
		//查询一下现况
		String sql_query = "select * from user";
		rs = db.executeQuerySQL(sql_query);
		try {
			while (rs.next()) {
				System.out.println("id=" + rs.getInt(1) + ", name=" + rs.getString(2));
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
		System.out.println("********************************************");
		
		//更新表
		String sql_update = "update user set name='HelloKity' where id=4";
		db.executeUpdateSQL(sql_update);
		
		//删除一条记录
		String sql_detele_2 = "delete from user where name=\"nullpointer\"";
		db.executeUpdateSQL(sql_detele_2);
		
		//再查一下
		rs = db.executeQuerySQL(sql_query);
		try {
			while (rs.next()) {
				System.out.println("id=" + rs.getInt(1) + ", name=" + rs.getString(2));
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
		
	}

}



基本用就这么用后面看到再总结更新这篇文章吧

用JDBC呢,其实还是用SQL语句和数据库打交道,每句话都能看的很清楚,就是显得不OO了,特别是若对象一堆子属性的时候,估计sql语句拼起来是非常费劲的事情,想象一下字符串和变量的拼接吧,各种“”和+,里面还得各种转义字符,后期维护是个头大的事情啊,所以人家发明hibernate也不是没事撑着的,哈哈!

P.S.
关于mysql里面声明主键非空自增长,老是记不住,废话不用能记住个鬼,懒的查留一个
id int auto_increment not null primary key

 

  • 大小: 5.2 KB
  • 大小: 11.7 KB
分享到:
评论

相关推荐

    JavaWeb学习-jdbc

    ### JavaWeb学习-JDBC #### 一、JDBC概述 JDBC(Java DataBase Connectivity, Java数据库连接)是一种用于执行SQL语句的Java API,它可以为多种关系数据库提供统一的访问方式。这一API由一系列用Java语言编写的类...

    javaweb+mysql数据库实现注册登录程序

    本项目"javaweb+mysql数据库实现注册登录程序"旨在教你如何使用Java Web技术和MySQL数据库来创建这样一个系统。以下是这个项目涉及到的关键知识点: 1. **Java Web基础**:Java Web开发主要涉及Servlet、JSP(Java...

    JAVAWEB链接数据库.pdf

    总的来说,这个JavaWeb示例展示了如何使用JDBC API与MySQL数据库进行交互,包括连接数据库、执行SQL语句(创建、删除、插入和查询)以及处理查询结果。对于任何在JavaWeb应用中需要与数据库打交道的开发者来说,理解...

    javaWeb-连接mysql数据库增删改查

    JavaWeb 连接 MySQL 数据库增删改查 JavaWeb 连接 MySQL 数据库增删改查是 Java 新手非常有用的知识点,本文将详细介绍如何使用 JavaWeb 连接到 MySQL 数据库,并实现增删改查的操作。 知识点一:JavaWeb 连接 ...

    JAVAWEB-20:JDBC之文件上下传与JavaMail

    在JAVAWEB应用中,JDBC被广泛用于处理用户请求与数据库之间的数据交换。在文件上传场景中,用户可能需要上传文件到服务器,这通常涉及到以下几个步骤: 1. **文件上传表单**:创建一个HTML表单,包含一个`...

    教案JAVAWEB链接数据库.pdf

    总结来说,这个Java程序展示了如何在Java Web环境中利用JDBC(Java Database Connectivity)与MySQL数据库进行交互。它涵盖了从连接数据库、执行SQL语句(DDL和DML)、处理查询结果到关闭连接的整个过程,是Java...

    javaweb html css3 jquery javascript oracle

    在JavaWeb开发中,Oracle常与JDBC(Java Database Connectivity)一起使用,实现数据库的连接和操作。 这些技术共同构建了Web开发的全貌。在实际项目中,开发者会使用HTML和CSS创建静态页面,然后用JavaScript和...

    基于javaweb的简易投票系统数据库文件.zip

    在JavaWeb应用中,通过JDBC与数据库进行交互,如插入、更新、查询和删除数据。 5. **用户认证与授权**:为了确保投票的公正性,系统可能需要实现用户注册和登录功能,这涉及到用户身份验证和权限管理。可以使用...

    javaweb学习资料百度云链接

    MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集,可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 ### 实战案例...

    jdbc链接SQL server和MySQL 的配置

    ### JDBC链接SQL Server 和 MySQL 的配置详解 #### 一、SQL Server 配置步骤 ##### 1. **需求软件** - **sqljdbc4.jar**:这是用于连接 SQL Server 数据库的 JDBC 驱动程序。 ##### 2. **安装与配置** - **...

    基于JavaWeb实现的学生管理系统【附源码】(毕设)

    本项目是一套基于JavaWeb实现的学生管理系统 或 学生成绩管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的java人群。 包含:项目源码、项目文档、数据库脚本、软件工具等,该项目附带全部...

    基于JavaWeb的企业员工信息管理系统【项目源码+数据库脚本】(毕设)

    本项目是一套基于JavaWeb的企业员工信息管理系统,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本、软件工具、项目说明等,该项目可以直接作为毕设使用。 ...

    java 连接数据库实现用户登录功能

    Oracle数据库的JDBC驱动(Java Database Connectivity)通常以ojdbc.jar的形式提供。确保将这个驱动添加到项目的类路径中,以便Java程序能够识别Oracle数据库。 接下来,我们需要编写Java代码来建立数据库连接。在...

    JavaWeb项目报告模板.docx

    后端采用Oracle数据库和JDBC技术处理信息录入,实现信息管理、用户注册、计数器和订单管理。最后,通过HTML、CSS和JavaScript优化网站外观,提升视觉效果。 【任务进度】 项目从确定选题、资料收集开始,历经基础...

    java web 链接Sqlite数据库源码

    首先,你需要了解Java中的JDBC(Java Database Connectivity),这是一个用于在Java程序中访问数据库的标准API。SQLite数据库虽然轻量,但它同样支持JDBC驱动,使得Java可以直接与其进行通信。在Java Web项目中,...

    Java链接数据库学生管理系统.rar

    Java链接数据库学生管理系统是一个基于Java编程语言实现的软件应用,主要功能是管理和操作与数据库相关的学生活动数据。这个系统通常包含多个模块,如学生信息管理、课程管理、成绩管理等,通过数据库来存储和检索...

    尚硅谷JavaWEB 项目实战(图书商城)视频下载链接地址

    - **JDBC(Java Database Connectivity)**: Java与数据库交互的API,用于执行SQL语句,处理结果集。 - **ORM(Object-Relational Mapping)**: 如Hibernate或MyBatis,提供对象与数据库之间的映射,简化数据库...

    使用JavaWeb写的一个新闻系统

    JDBC是Java访问数据库的标准接口,而DAO则是封装了数据库操作的对象。在新闻系统中,通过JDBC连接数据库,使用DAO进行CRUD(创建、读取、更新、删除)操作,以实现新闻的增删改查。 **5. JSP与EL(Expression ...

Global site tag (gtag.js) - Google Analytics