JDBC增删查改(使用配置文件)

JDBCDemo2.java

package com.zhangbz.jdbc;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;

import org.junit.Test;

import com.zhangbz.util.JDBCUtils;

public class JDBCDemo2 {

    @Test
    public void delete() {
        Connection conn = null;
        Statement stat = null;

        try {
            conn = JDBCUtils.getConn();
            stat = conn.createStatement();
            stat.executeUpdate("delete from user where name = ‘zhaoliu‘");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            JDBCUtils.close(null, stat, conn);
        }
    }

    @Test
    public void find() {
        Connection conn = null;
        Statement stat = null;
        ResultSet rs = null;

        try {
            conn = JDBCUtils.getConn();
            stat = conn.createStatement();
            rs = stat.executeQuery("select* from user where name = ‘zhaoliu‘");
            while(rs.next()) {
                String name = rs.getString("name");
                String password = rs.getString("password");
                System.out.println(name + ":" + password);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            JDBCUtils.close(rs, stat, conn);
        }
    }
    @Test
    public void update() {
        Connection conn = null;
        Statement stat = null;

        try {
            conn = JDBCUtils.getConn();
            stat = conn.createStatement();
            stat.executeUpdate("update user set password=999 where name = ‘zhaoliu‘");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            JDBCUtils.close(null, stat, conn);
        }
    }

    @Test
    public void add() {
        Connection conn = null;
        Statement stat = null;

        try {
            //1.注册数据库驱动
            //2.获取连接
            conn = JDBCUtils.getConn();
            //3.获取传输器对象
            stat = conn.createStatement();
            //4.执行sql语句
            int count = stat.executeUpdate("insert into user values(null, ‘zhaoliu‘, ‘123456‘, ‘[email protected]‘, ‘1999-09-09‘)");
            //5.处理结果
            if (count > 0) {
                System.out.println("执行成功!影响的行数为" + count);
            } else {
                System.out.println("执行失败!!");
            }

        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            //6.关闭资源
            JDBCUtils.close(null, stat, conn);
        }
    }
}

JDBCUtils.java

 1 package com.zhangbz.util;
 2
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.ResultSet;
 6 import java.sql.SQLException;
 7 import java.sql.Statement;
 8 import java.util.Properties;
 9
10 public class JDBCUtils {
11     public static Properties prop = null;
12     private JDBCUtils() {
13     }
14     //使用配置文件
15     static {
16         try {
17             prop = new Properties();
18             prop.load(JDBCUtils.class.getClassLoader().getResourceAsStream("config.properties"));
19         } catch (Exception e) {
20             e.printStackTrace();
21             throw new RuntimeException(e);
22         }
23     }
24     /**
25      * 获取连接
26      * @return
27      * @throws ClassNotFoundException
28      * @throws SQLException
29      */
30     public static Connection getConn() throws ClassNotFoundException, SQLException {
31         //1.注册数据库驱动
32         Class.forName(prop.getProperty("driver"));
33         //2.获取连接
34         return DriverManager.getConnection(prop.getProperty("url"), prop.getProperty("user"), prop.getProperty("password"));
35     }
36     /**
37      * 关闭连接
38      */
39     public static void close(ResultSet rs, Statement stat, Connection conn) {
40         if (rs != null) {
41             try {
42                 rs.close();
43             } catch (SQLException e) {
44                 // TODO Auto-generated catch block
45                 e.printStackTrace();
46             } finally {
47                 rs = null;
48             }
49         }
50         if (stat != null) {
51             try {
52                 stat.close();
53             } catch (SQLException e) {
54                 // TODO Auto-generated catch block
55                 e.printStackTrace();
56             } finally {
57                 stat = null;
58             }
59         }
60         if (conn != null) {
61             try {
62                 conn.close();
63             } catch (SQLException e) {
64                 // TODO Auto-generated catch block
65                 e.printStackTrace();
66             } finally {
67                 conn = null;
68             }
69         }
70     }
71 }

config.properties

driver=com.mysql.jdbc.Driver
url=jdbc:mysql:///Day10
user=root
password=root
时间: 2024-08-10 13:13:05

JDBC增删查改(使用配置文件)的相关文章

Java数据库编程之JDBC增删查改

前言 众多的ORM框架使我们从原生的JDBC编码摆脱出来,但在学习数据库编程之初,应该先掌握底层的JDBC编程,熟练应用后,学起框架才会更得心应手.就像金庸笔下的武侠人物,只要内功深厚,再去学习其他武功绝学,只不过是招式罢了.正所谓,温故而知新,本文回顾了最基础的JDBC增删查改操作. 连接数据库 在之前一篇随笔讲过如何连接数据库——<Java数据库编程之JDBC配置>. 数据库连接工具类 DBConnection package database; import java.sql.*; im

JDBC 增删查改

public class MemberDaoImpl implements MemberDao { private Connection conn = null; public MemberDaoImpl(){ this.conn=ConnCreate.getConnection("jdbc:mysql://localhost:3306/supermarket?" + "useUnicode=true&characterEncoding=utf8", &qu

JDBC终章- 使用 DBUtils实现增删查改- C3P0Utils数据源/QueryRunner runner连接数据源并执行sql

JDBC终章- 使用 DBUtils实现增删查改 1.数据库结构 Create Table CREATE TABLE `user` ( `id` int(3) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `password` varchar(20) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 2.工程结构    

2015.8.2 jdbc实现商品类的增删查改

在惠普济宁基地进行了两周sql和java的学习,学到很多东西 刚才实现了用jdbc访问数据库对数据库进行操作,是用eclipse写的,过几天移植到NetBeans上,个人还是比较习惯看图形化界面 前几天茫然无头绪的时候闫老师指点迷津了一下,讲了具体的流程,如下: 1.创建项目2.导入相关JAR3.组织项目结构  util:工具类,公共类  po:实体类对象  dao:数据访问  biz:业务类  view:显示 第一步不多陈述 第二步具体如何配置可以参见蔡振华的博客http://qmkkd.bl

java JDBC 万能DAO的实现的补充 实现了增删查改

有了这个类  ,基本后台的所有逻辑操作都能实现,后端雏形就算搭建出来了 说说写这个类遇到的坑 1.Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 6, Size: 6   ResultSetMetaData中的getColumnCount()方法是从1开始的 代码如下: resultSet = DbHelper.getStatement().executeQuery(sql); ResultS

hibernate基础增删查改简单实例

hibernate 基础理论知识网上很多,可以百度和google.这里不做多的介绍,以一个User表来开展例子 建一个web-project 我这里用了junit单元测试环境来进行增删查改的测试,别的不多说,导包就行 本次用到的所有jar包下载地址: 链接:http://pan.baidu.com/s/1skHrg0t 密码:dbe2 1.hibernate配置文件(hibernate.cfg.xml):主要是数据库连接核心的配置项 <?xml version='1.0' encoding='u

mybatis实现的对数据的增删查改

mybatis实现的对数据的增删查改 前期准备 新建java工程或java wweb工程, 需要导入以下的包, 基本工作已经完成,接下来开始进入正题. 新建实体类 新建与数据库表对应的实体类 package com.edu.hpu.domain; /** * @author Administrator *user表所对应的实体类 */ public class User { //实体类的属性和表的字段名称一一对应 private int id; private String name; priv

SpringMVC+hibernate整合小例子,用户的增删查改

SpringMVC+hibernate整合小例子,用户的增删查改 对于使用框架写项目,我的第一反应的把所有需要的jar文件引入. 因为我用的是JDK1.8,当使用spring3.2 注解的时候会出现问题,所以最终使用的spring4.0.  hibernate使用的版本为4.0 .至于一些依赖包的版本就是看别人的资料拿的. 然后看下整体的项目结构 第一步写的是web.xml配置文件,当然有写东西是后面加上去的,不是一步到位的,比如说控制post方式的乱码.以及无法时候JS文件等一些静态文件,后面

在MVC程序中,使用泛型仓储模式和工作单元实现增删查改

在这片文章中,我将自己动手为所有的实体:写一个泛型仓储类,还有一个工作单元. 工作单元的职责就是:为每一个实体,创建仓储实例.仓储(仓库)的职责:增删查改的功能实现. 我们将会在控制器中,创建工作单元类(UnitOfWork)的实例,然后根据实体,创建仓储实例,再就是使用仓储里面的方法,做操作了. 下面的图中,解释了,仓储和EF 数据上文的关系,在这个图里面,MVC控制器和仓储之间的交互,是通过工作单元来进行的,而不是直接和EF接触. 那么你可能就要问了,为什么要使用工作单元??? 工作单元,就