使用mySQL与数据库进行交互(二)

public class DAOImpl implements DAOInter {

private Connection conn;// 获取数据库连接

@Override
public List<Map<String, String>> selectEntity(String sql, Object[] objects, String[] items) {
conn = SQLconnection.getConnection();
List<Map<String, String>> list = null;// 声明一个List集合来存放查询到的结果
try {
PreparedStatement pst = conn.prepareStatement(sql);
if (objects != null) {// 如果包含条件
for (int i = 0; i < objects.length; i++) {
pst.setObject(i + 1, objects[i]);// 将条件添加到PreparedStatement中
}
}
ResultSet rst = pst.executeQuery();// 查询结果并存放在结果集中
list = new ArrayList<Map<String, String>>();// 实例化集合对象
Map<String, String> map;// 实例化一个Map对象存放查询到的一条数据
while (rst.next()) {
map = new HashMap<String, String>();
for (int i = 0; i < items.length; i++) {
// key--列名,value--该列的值
//重写将Object转换为String的方法以防止Object为null时报错
map.put(items[i], Rules.objectToString(rst.getObject(items[i])));
}
list.add(map);//将获得的一条数据放进list集合
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
SQLconnection.closeConnection(conn);
}
return list;
}

@Override
public int changeEntity(String sql, Object[] objects) {
conn = SQLconnection.getConnection();
int result = -1;
try {
PreparedStatement pst = conn.prepareStatement(sql);
if (objects != null) {
for (int i = 0; i < objects.length; i++) {
// 对每一个sql语句中使用的参数赋值,顺序一一对应
pst.setObject(i + 1, objects[i]);
}
}
result = pst.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
SQLconnection.closeConnection(conn);
}
return result;
}}

时间: 2024-12-27 14:14:56

使用mySQL与数据库进行交互(二)的相关文章

MySQL/Oracle数据库的基础(二)

MySQL/Oracle数据库 Oracle数据库管理系统是管理数据库访问的计算机软件,由Oracle数据库与Oracle实例构成 Oracle数据库:一个相关的操作系统文件集合,这些文件组织在一起,成为一个逻辑整体,即为Oracle数据库.Oracle数据库必须要与内存实例合作,才能对外提供数据管理服务. Oracle实例:位于物理内存里的数据结构,它由操作系统的多个后台进程和一个共享的内存池所组成,共享的内存池可以被进程锁访问. Oracle用它们来管理数据库访问 Oracle实例就是平常所

使用mySQL与数据库进行交互(一)

public interface DAOInter { /**一页显示的数据条数*/ public final Integer numForOnePage=5; /** * 对数据库进行查询操作 * * @param sql * 一个PreparedStatement使用的sql语句 * @param objects * sql语句中匹配PreparedStatement的条件数组 * @param items * 要查找的对象在数据库中的列名集合 * @return 填充值后的Map<Stri

Windows中使用MySQL 创建数据库(二)

一.数据库操作 1.查看当前存在的所有数据库 mysql>show databases; 2.切换当前使用数据库 mysql>use test 3.授权 mysql>grant all on 数据库名.* to 用户名@主机名 4.创建数据库 mysql>create database company; 其中:company 为要创建的数据库名 二.创建表 1.查看当前数据库中的所有表 mysql>show tables; 2.创建表 create table employe

MySQL数据库高级(二)——自定义函数

MySQL数据库高级(二)--自定义函数 一.自定义函数简介 自定义函数 (user-defined function UDF)是一种对MySQL扩展的途径,其用法和内置函数相同.自定义函数的两个必要条件:A.参数B.返回值(必须有).函数可以返回任意类型的值. 二.自定义函数的使用 1.自定义函数语法 CREATE?FUNCTION?function_name(parameter_nametype,[parameter_name type,...]) RETURNS?{STRING|INTEG

【码上开心】Windows环境mysql数据库使用(二)skip-grant-tables 与用户名密码修改

skip-grant-tables #跳过数据库权限验证 我们安装MySql 设置my.ini配置文件的时候,常常会在my.ini中添加 skip-grant-tables ,这时接数据库可以使用任意账号或者密码了. 这里顺便说一下,如何[通过 skip-grant-tables重置账户密码]: 到mysql根目录找到mysql配置文件 在my.ini,[mysqld]下添加一行,使其登录时跳过权限检查 如果mysql服务在运行,通过停 net stop mysql 止mysql服务 重新通过 

nodejs mysql 操作数据库方法二

node.js 开发指南 – Node.js 连接 MySQL 并进行数据库操作 通常在NodeJS开发中我们经常涉及到操作数据库,尤其是 MySQL ,作为应用最为广泛的开源数据库则成为我们的首选,本篇就来介绍下如何通过NodeJS来操作 MySQL 数据库. Node.js是一套用来编写高性能网络服务器的JavaScript工具包 通常在NodeJS开发中我们经常涉及到操作数据库,尤其是 MySQL ,作为应用最为广泛的开源数据库则成为我们的首选,本篇就来介绍下如何通过NodeJS来操作 M

Mysql及数据库的基础概念

DBMS:数据库管理系统 层次模型 网状模型 关系模型 RDBMS:关系型数据库管理系统 文件存储:数据的冗余和不一致性难以解决 当数据量很大时,文件存储的访问很困难 当数据在不同的文件时,可能会造成数据的格式不一致,及数据太过于分散造成数据孤立 数据的完整性问题(如两个银行之间转钱过程中出现故障,要保证总额一致) 并发访问异常(如多人同时访问一个文件时,一个人在进行修改操作,其他人就不能访问) 原子性问题(数据从一个稳定状态转移到另一个状态) 安全性也得不到保障 1.表示层:文件或者表 2.逻

linux架构学习第二十八天之Mysql/MariaDB数据库入门

内容: 1.数据库简介以及mysql/mariadb背景介绍 2.数据库的一些名词 3.mysql的服务结构 4.mysql客户端的使用 5.数据类型 6.SQL语句介绍 7.mysql的事务机制 一.数据库简介以及mysql/mariadb背景介绍 数据可以存放在多种位置,如普通文件.专门的数据库中,而两者有什么区别,而为什么选择数据库存储?我们知道,假如数据存在普通文件中,当我们要查找其中的一个数据时,要把整个文件加载到内存中,再进行检索,这样速度慢不说,一旦文件较大,直接把内存撑爆了,而数

PHP系列(十一)PHP操作mysql(i)数据库

                                     [Php操作Mysql数据库] 在PHP脚本中操作MySQL数据库的的六个步骤如下: 1.连接MySQL数据库服务器并判断是否连接正确 2.选择数据库 3.设置字符集 4.准备SQL语句并发送SQL语句到MySQL服务器并获取记录集 5.处理结果集 6.释放结果集资源,关闭数据库连接 一.PHP连接到MySQL <?php //我们全面采用UTF-8 编码. header('Content-Type:text/html;c