Java实现数据库操作
Java实现数据库操作
这里的样例是使用mysql数据库
代码实现
/* MySQLHelper.java */
import java.io.*;
import java.util.*;
import java.sql.*;
public class MySQLHelper {
private static final String databaseHostIp = "localhost";
private static final String databaseHostPort = "3306";
private static final String databaseName = "databaseName";
private static final String databaseUserName = "username";
private static final String databaseUserPassword = "password";
/*
* 描述:获取数据库连接对象,失败返回null
* 输入:空
* 输出:数据库连接对象Connection
*/
private static Connection getConnection() {
String connectString = "jdbc:mysql://" + databaseHostIp
+ ":" + databaseHostPort
+ "/" + databaseName
+ "?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8";
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(connectString, databaseUserName, databaseUserPassword);
return conn;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/*
* 描述:增删改操作
* 输入:sql语句
* 输出:成功 true | 失败 false
*/
public static boolean update(String sql) {
Connection conn = null;
try {
conn = getConnection();
Statement stat = conn.createStatement();
stat.executeUpdate(sql);
return true;
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return false;
}
/*
* 描述:查询操作
* 输入:sql语句
* 输出:查询结果数据集
*/
public static ResultSet query(String sql) {
ResultSet rs = null;
try {
Connection conn = getConnection();
Statement stat = conn.createStatement();
rs = stat.executeQuery(sql);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return rs;
}
}
调用样例代码
import java.io.*;
import java.util.*;
import MySQLHelper.*;
public class Test {
public static void main(String[] args) {
testUpdate();
testQuery();
}
public boolean testUpdate() {
String sql = "INSERT INTO USER_WEB values('Sicily', 'foolish')";
if (update(sql)) {
return true;
} else {
return false;
}
}
public boolean testQuery() {
String sql = "SELECT * FROM USER_WEB";
try {
ResultSet rs = query(sql);
while (rs.next()) {
String id = rs.getString("user_id");
String pwd = rs.getString("password");
System.out.println(String.format("user_id = '%s', password = '%s'", id, pwd));
}
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
}
Java实现数据库操作的更多相关文章
- java 的数据库操作--JDBC
一.java与数据库的交互 1.jdbc:java data base connectivity,java数据库连接.java的JDBC操作主要通过操作两个类进行连接操作:Connection 和 S ...
- java jdbc数据库操作
package shb.java.demo3; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQ ...
- java:数据库操作JDBC
JDBC详解:https://www.cnblogs.com/erbing/p/5805727.html JDBC存储过程,事务管理,数据库连接池,jdbc的封装框架:https://www.cnbl ...
- java工具类--数据库操作封装类
java对数据库操作简单处理,如下代码即可,封装了 增删改查及获取连接.关闭连接. 代码如下: package com.test; import java.sql.Connection; import ...
- 安卓 SQLite数据库操作实例
前段时间写了个安卓平台下SQLite数据库操作的实例 ,一直没得时间总结 ,今天把它弄出来了. 在Android 运行时环境包含了完整的 SQLite. 首先介绍一下SQLite这个数据库: SQLi ...
- 在安卓开发中使用SQLite数据库操作实例
前段时间写了个安卓平台下SQLite数据库操作的实例 ,一直没得时间总结 ,今天把它弄出来了. 在Android 运行时环境包含了完整的 SQLite. 首先介绍一下SQLite这个数据库: SQLi ...
- 如何在高并发环境下设计出无锁的数据库操作(Java版本)
一个在线2k的游戏,每秒钟并发都吓死人.传统的hibernate直接插库基本上是不可行的.我就一步步推导出一个无锁的数据库操作. 1. 并发中如何无锁. 一个很简单的思路,把并发转化成为单线程.Jav ...
- mySql事务_ _Java中怎样实现批量删除操作(Java对数据库进行事务处理)?
本文是记录Java中实现批量删除操作(Java对数据库进行事务处理),在开始之前先来看下面这样的一个页面图: 上面这张图片显示的是从数据库中查询出的出租信息,信息中进行了分页处理,然后每行的前面提 ...
- Java数据库操作
一.JDBC 1.JDBC Java数据库连接,用于Java程序中实现数据库操作功能,java.sql包中提供了执行SQL语句,访问各种数据库的方法,并为各种不同的数据库提供统一的操作接口及类. 2. ...
随机推荐
- Java泛型类型
E element 常用于集合中表示存放元素 T type Java类 K key 键 V value 值 N number 数值类型 ? 不确定的类型 一种约定俗成吧
- static dictionary methods of text compression
Now I will introduce a way to compress a text. When we are confronted with numerous data, and the da ...
- properties配置文件编码问题
properties配置文件编码问题 person.last-name=哈哈 person.age=18 person.bitrh=2019/01/12 person.boss=false perso ...
- Git 小记
感觉用github管理自己平时的一些代码挺方便的,尤其还有各种统计,作为一个码农,就有一种每日签到.累计签到统计的感觉.用github,学习git自然是不可避免的,原先只是用几个 git clone ...
- xamarin.Android SQLite存储
在可移植类库 新建: using SQLite.Net.Interop; using System; using System.Collections.Generic; using System.Li ...
- 【PyQt5 学习记录】009:批量创建组件并查找
这里需要在创建组件时使用 setObjectName() 为其添加 objectName 属性,再通过 findChild() 或者 findChildren() 函数来查找. 举个栗子,批量创建10 ...
- 报表在vista和win7下无法浏览应用的解决办法
对于vista和win7系统,报表工具有着良好的兼容性,无论是设计器还是实际应用.有些客户在安装报表设计报表的时候没有遇到问题,但是在这两种系统下会发现无法启动应用,或者打开设计器自带的ie浏览 ...
- 创建完美SDK的10个技巧
[编者按]本文作者为 Gal Lavinsky,文中将列出10个零基础小技巧,帮你创建完美的Java SDK.文章系国内 ITOM 管理平台 OneAPM 编译呈现.以下为正文. 本文起源于笔者朋友的 ...
- Sass带来的变革_sass, scss 教程_w3cplus - Google Chrome
Sass带来的变革 作者:大漠 日期:2014-11-17 点击:5291 sass scss 接触Sass差不多有一个年头了,在这一年来的时间中,也花了不少心思在Sass的学习上.同时也让自己喜欢上 ...
- npm 删除node_modules
安装 npm install rimraf - g 使用 rimraf node_modules