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 增删查改的更多相关文章

  1. 在Eclipse上实现简单的JDBC增删查改操作

    在Javaweb的学习里,学到了如何完成简单的增删查改操作,在这里撰写一篇文章以便自己整理回忆. 首先要建立一些包和导入一些文件.建一些类.具体框架如图  编写Product类 public clas ...

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

    JDBCDemo2.java package com.zhangbz.jdbc; import java.sql.Connection; import java.sql.ResultSet; impo ...

  3. jdbc的实例应用:增删查改实现

    //在jdbc中进行增删查改 //查看所有 public static void findAll() { String url = "jdbc:mysql://localhost:3306/ ...

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

    在惠普济宁基地进行了两周sql和java的学习,学到很多东西 刚才实现了用jdbc访问数据库对数据库进行操作,是用eclipse写的,过几天移植到NetBeans上,个人还是比较习惯看图形化界面 前几 ...

  5. JDBC+Servlet+jsp(增删查改)

    先在mysql新增数据库和表先,把下面的几句代码复制去到mysql运行就可以创建成功了!  创建数据库 create database jdbc01 character set utf8 collat ...

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

    JDBC终章- 使用 DBUtils实现增删查改 1.数据库结构 Create Table CREATE TABLE `user` ( `id` ) NOT NULL AUTO_INCREMENT, ...

  7. [课本]JDBC课程6--使用JDBC的DAO模块化--完成数据库的增删查改_工具类JDBCTools四个(Preparedstatement)功能模块的敲定版

    (课本P273-任务九) /**DAO: Data Access Object * 为什么用: 实现功能的模块化,更有利于代码的维护和升级 * 是什么: 访问数据信息的类,包含对数据的CRUD(cre ...

  8. hibernate基础增删查改简单实例

    hibernate 基础理论知识网上很多,可以百度和google.这里不做多的介绍,以一个User表来开展例子 建一个web-project 我这里用了junit单元测试环境来进行增删查改的测试,别的 ...

  9. 利用dbutils工具实现数据的增删查改操作(dbutis入门)

    一.前期准备 1.安装数据库(如:mysql5.5) 2.安装Eclipse(如:3.4) 3.下载数据库驱动包 4.下载dbutis工具包 5.在Eclipse创建名为 dbutils 的工程并在工 ...

随机推荐

  1. PHPcms怎么调用二级栏目

    {pc:content action=" siteid="$siteid" order="listorder ASC"}             {l ...

  2. struts2框架——从后台取得数据集,并在前台页面循环显示

    1.CourseBean.java public class CourseBean { private String f_courseId = ""; private String ...

  3. Hibernate 分页时 Long 无法转化成Integer类型 异常

    转自:http://loquat.iteye.com/blog/818547 报错:java.lang.Long cannot be cast to java.lang.Integer   Long ...

  4. Android ImageView图片自适应 (转)

    网络上下载下来的图片自适应:android:adjustViewBounds="true"(其详细解释在下面)<ImageView     android:id=" ...

  5. 使用VIRTUALBOX安装ANDROID系统 | 图文教程 | 相关设置

    使用VIRTUALBOX安装ANDROID系统 | 图文教程 | 相关设置 http://icaoye.com/virtualbox-run-android/

  6. 简单几何(求划分区域) LA 3263 That Nice Euler Circuit

    题目传送门 题意:一笔画,问该图形将平面分成多少个区域 分析:训练指南P260,欧拉定理:平面图定点数V,边数E,面数F,则V + F - E =  2.那么找出新增的点和边就可以了.用到了判断线段相 ...

  7. 贪心 POJ 2586 Y2K Accounting Bug

    题目地址:http://poj.org/problem?id=2586 /* 题意:某公司要统计全年盈利状况,对于每一个月来说,如果盈利则盈利S,如果亏空则亏空D. 公司每五个月进行一次统计,全年共统 ...

  8. MVC _ViewStart文件的作用

    指定目录下的所有文件均继承自 某个Layout. 支持最近原则. 参考:http://www.cnblogs.com/iamlilinfeng/archive/2013/02/28/2934397.h ...

  9. BZOJ2051 : A Problem For Fun

    树的点分治,将点分治的过程记录下来,每一个分治结构按到分治中心的距离维护所有点. 对于一个点二分答案,然后在$O(\log n)$个分治结构中二分查找,时间复杂度$O(n\log^3n)$. #inc ...

  10. BZOJ3832 : [Poi2014]Rally

    f[0][i]为i出发的最长路,f[1][i]为到i的最长路 新建源汇S,T,S向每个点连边,每个点向T连边 将所有点划分为两个集合S与T,一开始S中只有S,其它点都在T中 用一棵线段树维护所有连接属 ...