每次在面试时被问到jdbc的数据路链接过程都卡着,这次不怕了,背会了。。。
第一个,比较粗糙的

try{
 

Class.forName("com.mysql.jdbc.Driver");

}

catch(ClassNotFoundException e) {}

//定义所要用到的三个数据库应用对象

Connection con=null; //连接对象

Statement sql=null; //Statement对象(SQL语句)

ResultSet rs=null; //结果集对象

//进行数据源的连接

try{
 

con=DriverManager.getConnection ("jdbc:mysql://localhost/scutcs","","");//连接数据库的url 用户名和密码

sql=con.createStatement();

String to="Select * From user1 Where username='"+username+"'";

rs=sql.executeQuery(to); //根据所定义的Statement执行生成相应的结果集并存在RS中

if(rs.next()) //判断结果集是否为空,如果不为空则表示有记录

{

out.print("<script>alert('用户名 "+xm+"已存在,请另选一个!');history.back();</script>");//如果存在返回注册页面

}

else {如果不存在就向数据库添加一条记录}

}

catch (SQLException e)
 

{ out.print(e);
 

}

第二个 ,作为公共类比较完整些的  把部分的定义为单个函数方便调用
import java.sql.*;

public class DB {

public static Connection getConn() {

Connection conn = null;

try {

Class.forName("com.mysql.jdbc.Driver");

conn = DriverManager.getConnection("jdbc:mysql://localhost/shopping?user=root&password=123456");

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

}

return conn;

}

public static PreparedStatement prepare(Connection conn, String sql) {

PreparedStatement pstmt = null;
 

try {

if(conn != null) {

pstmt = conn.prepareStatement(sql);

}

} catch (SQLException e) {

e.printStackTrace();

}

return pstmt;

}

public static PreparedStatement prepare(Connection conn, String sql, int autoGenereatedKeys) {

PreparedStatement pstmt = null;
 

try {

if(conn != null) {

pstmt = conn.prepareStatement(sql, autoGenereatedKeys);

}

} catch (SQLException e) {

e.printStackTrace();

}

return pstmt;

}

public static Statement getStatement(Connection conn) {

Statement stmt = null;
 

try {

if(conn != null) {

stmt = conn.createStatement();

}

} catch (SQLException e) {

e.printStackTrace();

}

return stmt;

}

/*

public static ResultSet getResultSet(Connection conn, String sql) {

Statement stmt = getStatement(conn);

ResultSet rs = getResultSet(stmt, sql);

close(stmt);

return rs;

}

*/

public static ResultSet getResultSet(Statement stmt, String sql) {

ResultSet rs = null;

try {

if(stmt != null) {

rs = stmt.executeQuery(sql);

}

} catch (SQLException e) {

e.printStackTrace();

}

return rs;

}

public static void executeUpdate(Statement stmt, String sql) {

try {

if(stmt != null) {

stmt.executeUpdate(sql);

}

} catch (SQLException e) {

e.printStackTrace();

}

}

public static void close(Connection conn) {

try {

if(conn != null) {

conn.close();

conn = null;

}

} catch (SQLException e) {

e.printStackTrace();

}

}

public static void close(Statement stmt) {

try {

if(stmt != null) {

stmt.close();

stmt = null;

}

} catch (SQLException e) {

e.printStackTrace();

}


}
 

Java 建立mysql数据库连接的语句的更多相关文章

  1. Java方式 MySQL数据库连接

    JDBC-ODBC : 桥连就是将对JDBC API的调用转换为对另一组数据库连接(即 ODBC) API 的调用 JDBC-ODBC桥连方式驱动类是: sun.jdbc.odbc.JdbcOdbcD ...

  2. Java通用oracle和mysql数据库连接

    Java中oracle数据库连接写一个通用类UBUtil(){} import java.io.InputStream; import java.sql.*; import java.util.Pro ...

  3. mysql数据库连接出问题,提示超时 java.sql.SQLException: An attempt by a client to checkout a Connection has timed out.解决办法

    mysql数据库连接出问题,提示超时,后来发现问题在于连接mysql数据库的jar包跟数据库版本不对应导致的,更换jar包一致就解决了.

  4. java操作MySQL数据库(插入、删除、修改、查询、获取所有行数)

    插播一段广告哈:我之前共享了两个自己写的小应用,见这篇博客百度地图开发的两个应用源码共享(Android版),没 想到有人找我来做毕设了,年前交付,时间不是很紧,大概了解了下就接下了,主要用到的就是和 ...

  5. Java 操作MySql数据库

    Java 项目开发中数据库操作是很重要的一个方面,对于初学者来说,MySql是比较容易熟悉的一种常见数据库,这篇文章记录了如何用Java来操作MySql数据库. 第一章 JDBC的概念 JDBC(Ja ...

  6. 【JDBC】Java 连接 MySQL 基本过程以及封装数据库工具类

    一. 常用的JDBC API 1. DriverManager类 : 数据库管理类,用于管理一组JDBC驱动程序的基本服务.应用程序和数据库之间可以通过此类建立连接.常用的静态方法如下 static ...

  7. Java进阶(二十五)Java连接mysql数据库(底层实现)

    Java进阶(二十五)Java连接mysql数据库(底层实现) 前言 很长时间没有系统的使用java做项目了.现在需要使用java完成一个实验,其中涉及到java连接数据库.让自己来写,记忆中已无从搜 ...

  8. node+mysql 数据库连接池

    1. 什么是数据库连接池? 数据库连接池是程序启动时建立足够的数据库连接,并将这些连接组成一个池,由程序动态地对池中的连接进行申请,使用和释放. 2. 使用数据库连接池原理及优点是什么? 数据库连接池 ...

  9. java访问mysql数据库

    package com.mysql.test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.R ...

随机推荐

  1. 机器时代的中国字幕(Automata.2014.720p.WEB-DL.DD5.1.H264-RARBG.srt)

    看字幕.再也看不下去.自己翻译的位 评价的探讨 1 00:01:58,452 --> 00:02:02,088 人工增雨 期限为32分钟16第二 2 00:02:02,089 --> 00 ...

  2. 总线接口与计算机通信(二)SPI总线

    SPI总线协议及SPI时序图详解  : http://blog.163.com/sunshine_linting/blog/static/44893323201181482335951/ 浅谈SPI总 ...

  3. 在Windows下搭建C++11 编译环境(附下载,包括mingw-build,TDM-GCC, nuwen MinGW Distro)

    由于现实的一些原因,并不是所有人都能很方便的享受到C++11 特性.特别是C++ Primer 第五版 和 The C++ Programming Language 第四版等全面C++ 11 铺开以后 ...

  4. delphi模态窗体最小化会隐藏的问题

    在使用delphi创建模态窗体的时候最小化窗体会导致最小化的窗体不可见,再次点击主窗体才会显示. 在这个模态窗体中增加以下函数 procedure WmSysCommand(var msg: TMes ...

  5. 动态Pivot(2)

    原文  http://book.51cto.com/art/200710/58875.htm 存储过程sp_pivot的实现包含糟糕的编程习惯和安全隐患.就像我在本章的前面提到的,微软强烈建议不要在用 ...

  6. NProxy——Mac和Linux平台下的Fiddler

    Fiddler 相信大家,尤其是前端工程师们都知道. 用它的文件替换功能,将线上的静态资源文件(JS.CSS.图片)替换为本地相应的文件,来调试线上(代码都被压缩过)UI的问题.的确是一神器.(相比, ...

  7. java-多线程安全问题

    1. 安全问题产生原因 多个线程操作共享数据. 操作共享数据的线程代码有多条.当一个线程在执行操作共享数据的多条代码过程中,其他线程参与了计算,就会产生线程安全问题. 2. 解决方案 java中用同步 ...

  8. [转]java-Three Rules for Effective Exception Handling

    主要讲java中处理异常的三个原则: 原文链接:https://today.java.net/pub/a/today/2003/12/04/exceptions.html Exceptions in ...

  9. poj3356 AGTC

    Description Let x and y be two strings over some finite alphabet A. We would like to transform x int ...

  10. MEAN栈开发

    Nodejs之MEAN栈开发(二)----视图与模型 2016-06-02 08:30 by stoneniqiu, 92 阅读, 2 评论, 收藏, 编辑 上一节做了对Express做了简单的介绍, ...