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", "root", "");
}
@Override
public int add(Member member) throws SQLException {
PreparedStatement pst=null;
int num=0;
try{
String sql="insert into member values(?,?,?,?)";
pst=conn.prepareStatement(sql);//准备执行清单
pst.setInt(1,member.getMemberid());
pst.setString(2,member.getMembername());
pst.setString(3,member.getOpendate());
pst.setInt(4,member.getIntegral());
pst.executeUpdate();//执行sql语句
} finally {
ConnCreate.close(conn, pst, null);//释放资源
num++;
}
return num;
}
@Override
public int update(Member member, int num) throws SQLException {
PreparedStatement pst=null;
int count=0;
try{
String sql = "update member set memberid=?,membername=?,opendate=?,integral=? where memberid=?";
pst=conn.prepareStatement(sql);//准备执行清单
pst.setInt(1,member.getMemberid());
pst.setString(2,member.getMembername());
pst.setString(3,member.getOpendate());
pst.setInt(4,member.getIntegral());
pst.setInt(5,num);
pst.executeUpdate();//执行sql语句
} finally {
ConnCreate.close(conn, pst, null);//释放资源
count++;
}
return count;
}
@Override
public int delete(int num) throws SQLException {
PreparedStatement st=null;
int count=0;
try {//获取执行语句
String sql = "delete from member where memberid=?";
st = conn.prepareStatement(sql);//创建执行语柄
st.setInt(1,num);//准备执行清单
st.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
ConnCreate.close(null, st, null);//释放资源
count++;
}
return count;
}
@Override
public List<Member> query(int number) throws SQLException {
List<Member> num=new LinkedList<Member>();
Statement st=null;
ResultSet rs = null;
try{
//创建执行句柄
st = conn.createStatement();
//执行sql语句
rs = st.executeQuery("select * from Member where memberid="+number);
while(rs.next()){
Member c=new Member();
c.setMemberid(rs.getInt(1));
c.setMembername(rs.getString(2));
c.setOpendate(rs.getString(3));
c.setIntegral(rs.getInt(4));
num.add(c);
}
} finally {
ConnCreate.close(conn, st, rs);//释放资源
}
return num;
}
@Override
public List<Member> queryAll() throws SQLException {
List<Member> num=new LinkedList<Member>();
Statement st=null;
ResultSet rs = null;
try{
//创建执行句柄
st = conn.createStatement();
//执行sql语句
rs = st.executeQuery("select * from Member ");
while(rs.next()){
Member c=new Member();
c.setMemberid(rs.getInt(1));
c.setMembername(rs.getString(2));
c.setOpendate(rs.getString(3));
c.setIntegral(rs.getInt(4));
num.add(c);
}
} finally {
ConnCreate.close(conn, st, rs);//释放资源
}
return num;
}
@Override
public int updatein(int num, int num1) throws SQLException {
PreparedStatement st=null;
int count=0;
try {//获取执行语句
String sql = "update member set integral=integral+? where memberid=?";
st = conn.prepareStatement(sql);//创建执行语柄
st.setInt(1,num);//准备执行清单
st.setInt(2,num1);
st.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
ConnCreate.close(null, st, null);//释放资源
count++;
}
return count;
}
@Override
public int updatein1(int num, int num1) throws SQLException {
PreparedStatement st=null;
int count=0;
try {//获取执行语句
String sql = "update storage set depositnum=depositnum-? where id=?";
st = conn.prepareStatement(sql);//创建执行语柄
st.setInt(1,num);//准备执行清单
st.setInt(2,num1);
st.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
ConnCreate.close(null, st, null);//释放资源
count++;
}
return count;
}
@Override
public List<Member> queryjifen(int num1) throws SQLException {
List<Member> num=new LinkedList<Member>();
Statement st=null;
ResultSet rs = null;
try{
//创建执行句柄
st = conn.createStatement();
//执行sql语句
rs = st.executeQuery("select * from Member where integral>"+num1);
while(rs.next()){
Member c=new Member();
c.setMemberid(rs.getInt(1));
c.setMembername(rs.getString(2));
c.setOpendate(rs.getString(3));
c.setIntegral(rs.getInt(4));
num.add(c);
}
} finally {
ConnCreate.close(conn, st, rs);//释放资源
}
return num;
}
}
JDBC 增删查改的更多相关文章
- 在Eclipse上实现简单的JDBC增删查改操作
在Javaweb的学习里,学到了如何完成简单的增删查改操作,在这里撰写一篇文章以便自己整理回忆. 首先要建立一些包和导入一些文件.建一些类.具体框架如图 编写Product类 public clas ...
- JDBC增删查改(使用配置文件)
JDBCDemo2.java package com.zhangbz.jdbc; import java.sql.Connection; import java.sql.ResultSet; impo ...
- jdbc的实例应用:增删查改实现
//在jdbc中进行增删查改 //查看所有 public static void findAll() { String url = "jdbc:mysql://localhost:3306/ ...
- 2015.8.2 jdbc实现商品类的增删查改
在惠普济宁基地进行了两周sql和java的学习,学到很多东西 刚才实现了用jdbc访问数据库对数据库进行操作,是用eclipse写的,过几天移植到NetBeans上,个人还是比较习惯看图形化界面 前几 ...
- JDBC+Servlet+jsp(增删查改)
先在mysql新增数据库和表先,把下面的几句代码复制去到mysql运行就可以创建成功了! 创建数据库 create database jdbc01 character set utf8 collat ...
- JDBC终章- 使用 DBUtils实现增删查改- C3P0Utils数据源/QueryRunner runner连接数据源并执行sql
JDBC终章- 使用 DBUtils实现增删查改 1.数据库结构 Create Table CREATE TABLE `user` ( `id` ) NOT NULL AUTO_INCREMENT, ...
- [课本]JDBC课程6--使用JDBC的DAO模块化--完成数据库的增删查改_工具类JDBCTools四个(Preparedstatement)功能模块的敲定版
(课本P273-任务九) /**DAO: Data Access Object * 为什么用: 实现功能的模块化,更有利于代码的维护和升级 * 是什么: 访问数据信息的类,包含对数据的CRUD(cre ...
- hibernate基础增删查改简单实例
hibernate 基础理论知识网上很多,可以百度和google.这里不做多的介绍,以一个User表来开展例子 建一个web-project 我这里用了junit单元测试环境来进行增删查改的测试,别的 ...
- 利用dbutils工具实现数据的增删查改操作(dbutis入门)
一.前期准备 1.安装数据库(如:mysql5.5) 2.安装Eclipse(如:3.4) 3.下载数据库驱动包 4.下载dbutis工具包 5.在Eclipse创建名为 dbutils 的工程并在工 ...
随机推荐
- HTML5标准学习 – DOCTYPE
转自:http://www.cnblogs.com/GrayZhang/archive/2011/03/31/learning-html5-doctype.html 上一篇文章主要讲述了HTML文档的 ...
- webpack入门--前端必备
webpack入门--前端必备 什么是 webpack? webpack是一款模块加载器兼打包工具,它能把各种资源,例如JS(含JSX).coffee.样式(含less/sass).图片等都作为模块来 ...
- Python 中的函数与类的方法
注:本文转译自 Stackoverflow 上 Adding a Method to an Existing Object 的最佳回答. 在 python 中,def 定义的函数与类中的方法有很大的不 ...
- Java和Android注释规范
1. 文件头注释 每一个文件的文件头都必须做文件头注释.文件头注释范例如下: /* * 文件名:LoginActivity * 描 述:对用户 * 作 者: * 时 间: * 版 权: */ 2. ...
- sql server存儲過程語法
-- 变量的声明,sql里面声明变量时必须在变量前加@符号 DECLARE @I INT -- 变量的赋值,变量赋值时变量前必须加set SET @I = 30 -- 声明多个变量 ...
- selector选择器
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="ht ...
- ntpd时间同步 安装与配置
1,安装 yum -y install ntp vim /etc/ntp.conf 默认配置: driftfile /var/lib/ntp/drift restrict default kod no ...
- ember.js:使用笔记10 常用方法
init: controller中初始化方法, //注意该方法是在其他方法之前,所以取不出this,model等值: 跳转:this.tra ...
- BZOJ3322 : [Scoi2013]摩托车交易
求出最大生成树,则两点间的最大容量为树上两点间的边权的最小值. 设$lim[i]$表示第$i$个订单的城市允许携带的黄金上限,则 $lim[i]=\min(lim[i+1],a[i]和a[i+1]点间 ...
- 中国大数据六大技术变迁记(CSDN)
大会召开前期,特别梳理了历届大会亮点以记录中国大数据技术领域发展历程,并立足当下生态圈现状对即将召开的BDTC 2014进行展望: 追本溯源,悉大数据六大技术变迁 伴随着大数据技术大会的发展,我们亲历 ...