简易web项目jdbcUtil
- jdbc.username=root
- jdbc.password=root
- jdbc.driver=com.mysql.jdbc.Driver
- jdbc.url=jdbc:mysql://mini1:3306/bigdata?useUnicode=true&characterEncoding=UTF-8
注意val后面不能用空格,就因为有空格坑了我两个小时
- package my.geomap.servlet;
- import com.alibaba.fastjson.JSONArray;
- import com.alibaba.fastjson.JSONObject;
- import java.io.InputStream;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.ResultSetMetaData;
- import java.sql.SQLException;
- import java.util.*;
- public class JdbcUtil {
- // 表示定义数据库的用户名
- private static String USERNAME ;
- // 定义数据库的密码
- private static String PASSWORD;
- // 定义数据库的驱动信息
- private static String DRIVER;
- // 定义访问数据库的地址
- private static String URL;
- // 定义数据库的链接
- private Connection connection;
- // 定义sql语句的执行对象
- private PreparedStatement pstmt;
- // 定义查询返回的结果集合
- private ResultSet resultSet;
- static{
- //加载数据库配置信息,并给相关的属性赋值
- loadConfig();
- }
- /**
- * 加载数据库配置信息,并给相关的属性赋值
- */
- public static void loadConfig() {
- try {
- InputStream inStream = JdbcUtil.class
- .getResourceAsStream("/jdbc.properties");
- Properties prop = new Properties();
- prop.load(inStream);
- USERNAME = prop.getProperty("jdbc.username");
- PASSWORD = prop.getProperty("jdbc.password");
- DRIVER= prop.getProperty("jdbc.driver");
- URL = prop.getProperty("jdbc.url");
- System.out.println(prop.entrySet());
- } catch (Exception e) {
- throw new RuntimeException("读取数据库配置文件异常!", e);
- }
- }
- public JdbcUtil() {
- }
- /**
- * 获取数据库连接
- *
- * @return 数据库连接
- */
- public Connection getConnection() {
- try {
- Class.forName(DRIVER); // 注册驱动
- connection = DriverManager.getConnection(URL, USERNAME, PASSWORD); // 获取连接
- } catch (Exception e) {
- throw new RuntimeException(e.getMessage());
- }
- return connection;
- }
- /**
- * 执行更新操作
- *
- * @param sql
- * sql语句
- * @param params
- * 执行参数
- * @return 执行结果
- * @throws SQLException
- */
- public boolean updateByPreparedStatement(String sql, List<?> params)
- throws SQLException {
- boolean flag = false;
- int result = -;// 表示当用户执行添加删除和修改的时候所影响数据库的行数
- pstmt = connection.prepareStatement(sql);
- int index = ;
- // 填充sql语句中的占位符
- if (params != null && !params.isEmpty()) {
- for (int i = ; i < params.size(); i++) {
- pstmt.setObject(index++, params.get(i));
- }
- }
- result = pstmt.executeUpdate();
- flag = result > ? true : false;
- return flag;
- }
- /**
- * 执行查询操作
- *
- * @param sql
- * sql语句
- * @param params
- * 执行参数
- * @return
- * @throws SQLException
- */
- public List<Map<String, Object>> findResult(String sql, List<?> params)
- throws SQLException {
- List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
- int index = ;
- pstmt = connection.prepareStatement(sql);
- if (params != null && !params.isEmpty()) {
- for (int i = ; i < params.size(); i++) {
- pstmt.setObject(index++, params.get(i));
- }
- }
- resultSet = pstmt.executeQuery();
- ResultSetMetaData metaData = resultSet.getMetaData();
- int cols_len = metaData.getColumnCount();
- while (resultSet.next()) {
- Map<String, Object> map = new HashMap<String, Object>();
- for (int i = ; i < cols_len; i++) {
- String cols_name = metaData.getColumnName(i + );
- Object cols_value = resultSet.getObject(cols_name);
- if (cols_value == null) {
- cols_value = "";
- }
- map.put(cols_name, cols_value);
- }
- list.add(map);
- }
- return list;
- }
- /**
- * 释放资源
- */
- public void releaseConn() {
- if (resultSet != null) {
- try {
- resultSet.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- if (pstmt != null) {
- try {
- pstmt.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- if (connection != null) {
- try {
- connection.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- public static void main(String[] args) {
- JdbcUtil jdbcUtil = new JdbcUtil();
- jdbcUtil.getConnection();
- try {
- List<Map<String, Object>> result = jdbcUtil.findResult(
- "select * from t_student", null);
- for (Map<String, Object> m : result) {
- System.out.println(m);
- }
- } catch (SQLException e) {
- e.printStackTrace();
- } finally {
- jdbcUtil.releaseConn();
- }
- }
- public static JSONArray testqueryCase(String sql) {
- JdbcUtil jdbcUtil = new JdbcUtil();
- List<Map<String, Object>> result = null;
- try {
- jdbcUtil.getConnection();
- result = jdbcUtil.findResult(sql, null);
- } catch (SQLException e) {
- System.out.println(e.getMessage());
- e.printStackTrace();
- } finally {
- if (jdbcUtil != null) {
- jdbcUtil.releaseConn(); // 一定要释放资源
- }
- }
- JSONArray json = new JSONArray();
- JSONObject jo =null;
- Set<Map.Entry<String, Object>> entries = null;
- Map.Entry<String, Object> next = null;
- for(Map<String, Object> a : result){
- jo = new JSONObject();
- entries = a.entrySet();
- next = entries.iterator().next();
- jo.put("name", next.getKey());
- jo.put("value", next.getValue());
- json.add(jo);
- }
- return json;
- }
- }
简易web项目jdbcUtil的更多相关文章
- .netCore 简易Web 项目
static async Task Main(string[] args) { var _httpListener = new HttpListener(); _httpListener.Prefix ...
- 简易商品信息管理系统——首个Web项目
正文之前 在学习了一段时间的Java Web的内容之后,当然需要有个项目来练练手,我相信大多数人的首选项目都是信息管理系统吧,所以我选择了商品信息管理系统 目前项目源码已全部上传至GitHub,欢迎大 ...
- 【Java Web】简易商品信息管理系统——首个Web项目
正文之前 在学习了一段时间的Java Web的内容之后,当然需要有个项目来练练手,我相信大多数人的首选项目都是信息管理系统吧,所以我选择了商品信息管理系统 目前项目源码已全部上传至GitHub,欢迎大 ...
- 使用maven构建web项目(简易版)
在eclipse中使用maven开发一个web项目 第一步:安装maven:在Windows上安装Maven 中间省略很多步骤....(包括关于eclipse中配置maven) 第二步:不用懂任何ma ...
- Pycharm+django新建Python Web项目
这两天初学Python,首先是学习Python语法有PyCharm就可以运行Console程序了,因为是初学所以,尽量写的比较详细,包括参考的资料地址... 1.下载Python,并安装[本文版本 ...
- java web项目答辩答辩题总结(书本网上语言答辩+自己的语言答辩)
答辩每个人的总分为1.5分.每个人主要问3个问题. 开发流程===>系统架构====>项目模块+功能===>项目得失重定向与转发:?九个隐式对象?get与post的区辨:?jsp有静 ...
- SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。
熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...
- 手动搭建简易web框架与django框架简介
目录 纯手写简易web框架 基于wsgiref模块 动静态网页 简单了解jinja2模块 框架请求流程 python主流web框架 django框架 简介 应用app 命令操作django pycha ...
- java Web项目创建之一(普通java web项目的创建与发布)
1.创建新的web项目 file->new_>Dynamic Web Project(如图) 或file->new->Project->Web->Dynamic W ...
随机推荐
- Javakeyword之this
this的作用: 1) this是当前对象的一个引用.便于对当前对象參数的使用. 2)能够返回对象的自己这个类的引用.同一时候还能够在一个构造函数其中调用还有一个构造函数 this演示样例: publ ...
- 原创:微信小程序调用【统一下单】、【支付】、【支付回调】api并处理请求
1.服务器端使用TP3.2处理(随便写在一个Controller里面) /* 小程序报名,生成订单 */ public function make_order(){ if(IS_POST){ $dat ...
- HDUOJ----1166敌兵布阵(线段树单点更新)
敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- innerHTML和innerText区分
示例代码:<div id="test"> <span style="color:red">test1</span> test ...
- JMeter学习笔记--详解JMeter配置元件
JMeter配置元件可以用来初始化默认值和变量,以便后续采样器使用.将在其作用域的初始化阶段处理. CSV Data Set Config:被用来从文件中读取数据,并将它们拆分后存储到变量中,适合处理 ...
- RMAN - 发现I/O瓶颈
大多数操作系统支持异步I/O. 备份到磁盘,异步I/O是一个优势,因为一个服务器进程同时可以执行多个I/O操作:同步I/O必须等上一个I/O操作完成才可以执行下一个I/O操作. 初始化参数disk_a ...
- Android中实现下拉刷新
需求:项目中的消息列表界面要求实现类似sina微博的下拉刷新: 思路:一般的消息列表为ListView类型,将list加载到adapter中,再将adapter加载到 ListView中,从而实现消息 ...
- Spring +quartz获取ApplicationContext上下文
job存在数据库中,能够进行动态的增增删改查,近期遇到了怎样获取ApplicationContext上下文的问题.解决的方法例如以下 applicationContext-quartz.xml < ...
- 最常用的五类CSS选择器
一些新手朋友对选择器一知半解,不知道在什么情况下运用什么样的选择器,这是一个比较头疼的问题,针对新手朋友,对CSS选择器作一些简单的说明,希望能对大家的学习工作有一定的帮助,更多的CSS知识请参考We ...
- bug list
机型: Samsung Galaxy S GT-I9000 版本: 2.2.1bug: Couldn't create directory for SharedPreferences file xxx ...