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工具包,目标是普及自然语言处理在生产环 ...
随机推荐
- Java基础--serialVersionUID
Java基础--serialVersionUID serialVersionUID作用: 序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性.有两种生成方式: 一个是默认的1L,比 ...
- Linux----LVM扩容磁盘空间
Linux系统LVM扩容一个分区相对于Windows来说没有那么直观,但是熟悉命令后,扩容起来也是蛮方便的. 扩容场景如下: [root@rhel06 ~]# df -Th Filesystem Ty ...
- [zz]利用碎片时间健身
利用碎片时间健身(上) http://v.163.com/zixun/V96957QH6/VBSQ4D861.html#from=zixunplay_recommended 利用碎片时间健身(下) h ...
- Python忽略warning警告错误
python开发中经常遇到报错的情况,但是warning通常并不影响程序的运行,而且有时特别讨厌,下面我们来说下如何忽略warning错误. 在说忽略warning之前,我们先来说下如何主动产生war ...
- 关于Spring
Jetty默认采用NIO结束在处理I/O请求上更占优势,在处理静态资源时,性能较高.Tomcat默认采用BIO处理I/O请求,在处理静态资源时,性能较差. 依赖注入的意义:让组件依赖于抽象,当组件要与 ...
- View加载过程
1. 先判断子类是否重写了loadView,如果有直接调用.之后调viewDidLoad完成View的加载.2 .如果是外部通过调用initWithNibName:bundle指定nib文件名的话,V ...
- c++中的宏 #define _CLASSDEF(name) class name
#include <iostream> using namespace std; #define _CLASSDEF(name) class name; \ typedef name * ...
- Sybase
Variable Naming Convention first character can be alphabetic character, _, @. Followed by alphabetic ...
- selenium查找动态的iframe的name
WebElement frame1 = driver.findElement(By.xpath("/html/body/div[9]/div[2]/div/iframe"));dr ...
- Tomcat7启动log打印到INFO: At least one JAR was scanned for TLDs yet contained no TLDs.就停止不动了
环境: RHEL7,tomcat7.0.70 问题: 启动tomcat时,catalina.out日志打印到如下内容就停止不动了,也不报错 SEVERE: FarmWarDeployer can on ...