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工具包,目标是普及自然语言处理在生产环 ...
随机推荐
- Validation failed for one or more entities.
验证失败后用DbEntityValidationException 查找出错的字段 try { // Your code... // Could also be before try if you k ...
- Ill-conditioned covariance create
http://www.mathworks.com/matlabcentral/answers/100210-why-do-i-receive-an-error-while-trying-to-gene ...
- CFDebug.template
{ "AWSTemplateFormatVersion" : "2010-09-09", "Description" : "Cre ...
- http 301 和 302 的区别!
1.什么是301转向?什么是301重定向? 301转向(或叫301重定向,301跳转)是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种, ...
- 用Maven新建Web项目时报错
在cmd下,用mvn命令 mvn archetype:create -DgroupId=org.seckill -DartifactId=seckill -DarchetypeArtifactId=m ...
- android 学习第一天 了解事件机制,页面跳转等常用操作
点击时间2种 第一种,通过初始化页面 写入点击事件 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedI ...
- struts2执行流程
当Web容器收到 请求(HttpServletRequest) 1.它将请求传递给一个标准的的过滤链包括 (ActionContextCleanUp)过滤器 2.然后经过Other filters(S ...
- [AS3.0] Error #1069: Property onBWDone not found on flash.net.NetConnection and there is no default value.解决办法
在运用FMS录制视频时,假如出现这个错误,最直接的解决办法如下: _netConnection.client = { onBWDone: function():void{ trace("on ...
- Unity3d之json解析研究
Unity3d之json解析研究 json是好东西啊!JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式 JSON简单易用,我要好好研究一下 ...
- 模块化编程时,#include到底要放在哪里?
结合我自己的经验,谈一谈模块化编程时#include应该出现的位置.总结起来大体有二条规则: 一.规则1:只包含必要的头文件 看下面这个模块: ===foo.c==== #include <st ...