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 的工程并在工 ...
随机推荐
- M方法和D方法的区别
M方法和D方法的区别 ThinkPHP 中M方法和D方法都用于实例化一个模型类,M方法 用于高效实例化一个基础模型类,而 D方法 用于实例化一个用户定义模型类. 使用M方法 如果是如下情况,请考虑使用 ...
- Struts2 Convention插件的使用
转自:http://chenjumin.iteye.com/blog/668389 1.常量说明 struts.convention.result.path="/WEB-INF/conten ...
- struts2的标签中得到JSP脚本的变量值
转自:http://www.cnblogs.com/modou/articles/1299024.html 大家先来看一段代码: <% int i=1; %> <s:property ...
- 电赛菜鸟营培训(一)——STM32F103CB之LED控制
一.STM32F103C8 引脚分布 二.LED的共阴.共阳接法 这里应该是七段数码管的接法. 限流电阻选择为470,在Multism中仿真,也需要接入,否则会出现闪烁情况.或者直接更改属性. 三.消 ...
- 如何开启SQL Server 2008的远程联机
需要开启SQL Server 2008 远程联机,需按如下操作步骤执行: 1.首先需要在{程序}-{Microsoft SQL Server 2008}-{配置工具}-{SQL Server 配置管理 ...
- android知识体系
1.Android架构分为4层*应用程序层 Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等.所有的应用程序都是 ...
- Hark的数据结构与算法练习之多路归并排序
算法说明 多路归并排序也叫k路归并排序,实际上是归并排序的扩展版,同样也是归并排序的一种,通常的应用场景的针对大数据量的排序. 实现过程: 1.从字面可以看出,多路归并就是将待排的大数据量分成K路,然 ...
- Redis作为多个Windows服务运行配置方法
1.首先下载微软官方推荐的版本redis-2.8.12 2.开始配置,首先复制两份redis.conf并且重命名为redis6379.conf redis6380.conf 里面的配置节点相应的更改 ...
- BZOJ1766 : [Ceoi2009]photo
如果两个矩形相交且不是包含关系,那么完全可以让它们不相交. 将坐标离散化后,设$f[i][j][k]$表示区间$[i,j]$纵坐标不小于$k$的部分的最优解. 对于$f[i][j][k]$,要么枚举分 ...
- BZOJ3742 : Painting
设f[i][j]表示以i为根的子树,i与父亲之间的边染成j的最小代价 DP的过程中转移时相当于求一个最小权匹配,用费用流即可 感觉复杂度飞起来了… #include<cstdio> con ...