jdbk应用实例
首先要在数据库中建好表,表的属性要跟代码中的一致
使用jdbk连接数据库,并且进行增删改查的操作(curd).
package com.beiwi; import java.sql.Connection;
import java.sql.DriverManager;
import java.util.ResourceBundle; import java.sql.ResultSet;
import java.sql.Statement; /**
* 数据库的帮助类
* @author Lrs
*
*/
public class DBUtils { private static String driverClass;
private static String url;
private static String user;
private static String password; static{
ResourceBundle rb = ResourceBundle.getBundle("jdbc");
driverClass = rb.getString("driverClass");
url = rb.getString("url");
user = rb.getString("user");
password = rb.getString("password"); try {
Class.forName(driverClass);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} public static Connection getConn() throws Exception{
return DriverManager.getConnection(url, user, password);
} public static void closeAll(ResultSet rs,Statement stmt,Connection conn){ if(null!=rs){
try {
rs.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if(null!=stmt){
try {
stmt.close();
} catch (Exception e) {
e.printStackTrace();
}
} if(null!=conn){
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
} }
package com.beiwi; import java.sql.Connection; import java.sql.ResultSet;
import java.sql.Statement; /**
* 增删改查操作的方法
* create:新增
* refer:查询
* update:更新
* delete:删除
* @author Lrs
*
*/
public class MasterCurd { /**
* 查询所有主人的信息
*/
public void findAll(){
String sql = "SELECT * FROM master";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null; try {
conn = DBUtils.getConn();
stmt = conn.createStatement();
rs = stmt.executeQuery(sql); while (rs.next()) {
System.out.println(rs.getObject(1));
System.out.println(rs.getObject(2));
System.out.println(rs.getObject(3));
System.out.println(rs.getObject(4));
System.out.println("**************************");
}
} catch (Exception e) {
e.printStackTrace();
}finally{
DBUtils.closeAll(rs, stmt, conn);
} }
/**
* insert一条记录
*/ public void insert(){
String sql = "INSERT INTO master (id,user,password,money) VALUES ('4','haha','456','100');"; Connection conn = null;
Statement stmt = null; try {
conn = DBUtils.getConn();
stmt = conn.createStatement();
stmt.executeUpdate(sql);
} catch (Exception e) {
e.printStackTrace();
} finally {
DBUtils.closeAll(null, stmt, conn);
}
} /**
* 更新一条记录
*/
public void update(){
String sql = "UPDATE master SET user='beiwo1',password='456',money=888 WHERE id=1";
Connection conn = null;
Statement stmt = null; try {
conn = DBUtils.getConn();
stmt = conn.createStatement();
int num = stmt.executeUpdate(sql); if (num>0) {
System.out.println("更新成功");
} } catch (Exception e) {
e.printStackTrace();
} finally {
DBUtils.closeAll(null, stmt, conn);
}
}
/**
* 删除一条记录
*/
public void delete(){
String sql = "DELETE FROM master WHERE id=3";
Connection conn = null;
Statement stmt = null; try {
conn = DBUtils.getConn();
stmt = conn.createStatement();
int num = stmt.executeUpdate(sql); if (num > 0) {
System.out.println("删除成功");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
DBUtils.closeAll(null, stmt, conn);
}
}
}
package com.beiwi; import org.junit.Before;
import org.junit.Test; /**
* 测试类
*/ public class TestMasterCrud { MasterCurd curd = null; @Before
public void before(){
curd = new MasterCurd();
}
@Test
public void testFindAll(){
curd.findAll();
}
@Test
public void testInsert(){
curd.insert();
}
@Test
public void testUpdate(){
curd.update();
}
@Test
public void testDelete(){
curd.delete();
}
@Test
public void after(){
curd=null;
} }
jdbk应用实例的更多相关文章
- 最近学习工作流 推荐一个activiti 的教程文档
全文地址:http://www.mossle.com/docs/activiti/ Activiti 5.15 用户手册 Table of Contents 1. 简介 协议 下载 源码 必要的软件 ...
- js-静态、原型、实例属性
本篇来说一下js中的属性: 1.静态属性 2.原型属性 3.实例属性 静态属性: function klass(){} var obj=new klass(); klass.count=0; klas ...
- ZIP压缩算法详细分析及解压实例解释
最近自己实现了一个ZIP压缩数据的解压程序,觉得有必要把ZIP压缩格式进行一下详细总结,数据压缩是一门通信原理和计算机科学都会涉及到的学科,在通信原理中,一般称为信源编码,在计算机科学里,一般称为数据 ...
- EntityFramework Core 1.1是如何创建DbContext实例的呢?
前言 上一篇我们简单讲述了在EF Core1.1中如何进行迁移,本文我们来讲讲EF Core1.1中那些不为人知的事,细抠细节,从我做起. 显式创建DbContext实例 通过带OnConfiguri ...
- redis集成到Springmvc中及使用实例
redis是现在主流的缓存工具了,因为使用简单.高效且对服务器要求较小,用于大数据量下的缓存 spring也提供了对redis的支持: org.springframework.data.redis.c ...
- 流程开发Activiti 与SpringMVC整合实例
流程(Activiti) 流程是完成一系列有序动作的概述.每一个节点动作的结果将对后面的具体操作步骤产生影响.信息化系统中流程的功能完全等同于纸上办公的层级审批,尤其在oa系统中各类电子流提现较为明显 ...
- UWP开发之Template10实践:本地文件与照相机文件操作的MVVM实例(图文付原代码)
前面[UWP开发之Mvvmlight实践五:SuspensionManager中断挂起以及复原处理]章节已经提到过Template10,为了认识MvvmLight的区别特做了此实例. 原代码地址:ht ...
- echarts+php+mysql 绘图实例
最近在学习php+mysql,因为之前画图表都是直接在echart的实例demo中修改数据,便想着两相结合练习一下,通过ajax调用后台数据画图表. 我使用的是echart3,相比较第二版,echar ...
- 【HanLP】HanLP中文自然语言处理工具实例演练
HanLP中文自然语言处理工具实例演练 作者:白宁超 2016年11月25日13:45:13 摘要:HanLP是hankcs个人完成一系列模型与算法组成的Java工具包,目标是普及自然语言处理在生产环 ...
随机推荐
- spring 官方下载地址(Spring Framework 3.2.x&Spring Framework 4.0.x)
spring官方网站改版后,建议都是通过 Maven和Gradle下载,对不使用Maven和Gradle开发项目的,下载就非常麻烦,下给出Spring Framework jar官方直接下载路径: h ...
- 关于print和echo的区别
我的想法是print是函数,echo是语句.有一个点很难去说明就是为什么可以执行print 666.可以这样不加括号,象print(666);至于为什么一定要认为print是函数,而非网上说的语句和函 ...
- Python 之 threading
创建多线程常用的三种方法: 创建Thread的实例,传给它一个函数 创建Thread的实例,传给它一个可调用的类实例(不推荐) 派生Thread的子类,并创建子类的实例(推荐) 创建Thread的实例 ...
- DBSCAN——python实现
# -*- coding: utf-8 -*- from matplotlib.pyplot import * from collections import defaultdict import r ...
- kubernetes 内网节点部署笔记(一)
在Centos7上部署kubernetes时,碰到很多坑,特别在摸拟在内网部署时,有来自GFW的障碍,有来自Firewalld的阻塞,反正是各种不服,终于慢慢理顺了思路,自己记录一下,防止遗忘. 环境 ...
- Java判断Class变量是什么类型
public static void main(String[] args) { java.util.Date date_u = new java.util.Date(1); java.sql.Dat ...
- 委托、IOC全知道
话说写代码已有数年,曾经花了很多时间,看了很多大牛的文章也是不能参透,日思夜想都没有理解的概念,通过不断的实践与学习,回过头来再看,总算有了一个清晰的理解与认识,也看到一句话说,最好的学习就是把别人教 ...
- sax/dom/jdom/dom4j的区别
sax/dom/jdom/dom4j的区别[转] 博客分类: xml 网上能够查到很多的4种解析方式的区别,我再做一下摘录和总结,顺带给自己做个备份. SAX sax分析器在对xml文档进行分析时 ...
- 使用struts通配符报错
报错截图如下: 主要原因是:对大小写敏感. struts.xml StudentAction.java jsp页面:(重点就是这里,锚里面需要特别注意,大小写应该与struts.xml里面的保持一致, ...
- CSS常用样式及示例
CSS常用样式及示例 一.简介 层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集) ...