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;
    }

}
时间: 2024-11-10 00:14:17

JDBC 增删查改的相关文章

Java数据库编程之JDBC增删查改

前言 众多的ORM框架使我们从原生的JDBC编码摆脱出来,但在学习数据库编程之初,应该先掌握底层的JDBC编程,熟练应用后,学起框架才会更得心应手.就像金庸笔下的武侠人物,只要内功深厚,再去学习其他武功绝学,只不过是招式罢了.正所谓,温故而知新,本文回顾了最基础的JDBC增删查改操作. 连接数据库 在之前一篇随笔讲过如何连接数据库——<Java数据库编程之JDBC配置>. 数据库连接工具类 DBConnection package database; import java.sql.*; im

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

JDBCDemo2.java package com.zhangbz.jdbc; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import org.junit.Test; import com.zhangbz.util.JDBCUtils; public class JDBCDemo2 { @Test public void delete() { Connection conn

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

在惠普济宁基地进行了两周sql和java的学习,学到很多东西 刚才实现了用jdbc访问数据库对数据库进行操作,是用eclipse写的,过几天移植到NetBeans上,个人还是比较习惯看图形化界面 前几天茫然无头绪的时候闫老师指点迷津了一下,讲了具体的流程,如下: 1.创建项目2.导入相关JAR3.组织项目结构  util:工具类,公共类  po:实体类对象  dao:数据访问  biz:业务类  view:显示 第一步不多陈述 第二步具体如何配置可以参见蔡振华的博客http://qmkkd.bl

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

JDBC终章- 使用 DBUtils实现增删查改 1.数据库结构 Create Table CREATE TABLE `user` ( `id` int(3) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `password` varchar(20) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 2.工程结构    

java JDBC 万能DAO的实现的补充 实现了增删查改

有了这个类  ,基本后台的所有逻辑操作都能实现,后端雏形就算搭建出来了 说说写这个类遇到的坑 1.Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 6, Size: 6   ResultSetMetaData中的getColumnCount()方法是从1开始的 代码如下: resultSet = DbHelper.getStatement().executeQuery(sql); ResultS

MyBatis笔记----Mybatis3.4.2与spring4整合:增删查改

结构图 刚之前没什么区别,多了一个applicationContext.xml 包图 由于之前出了一点错误,有些包可能多加上了 数据库图 model User.java package com.ij34.model; public class User { private int id; private String name; private int age; public int getId() { return id; } public void setId(int id) { this.

mybatis实现简单的增删查改

接触一个新技术,首先去了解它的一些基本概念,这项技术用在什么方面的.这样学习起来,方向性也会更强一些.我对于mybatis的理解是,它是一个封装了JDBC的java框架.所能实现的功能是对数据库进行增删查改的功能. 首先,需要搭建一个demo,用于学习这个框架的使用方式.(1)在IDE上建立自己的工程目录,一个普通的java工程项目就好,我电脑本地的IDE是Myeclipse.(2)引入搭建框架需要的jar包,这个直接去网上搜索就好.(3)框架的核心实现都是基于配置的,引入jar包后,先配置my

hibernate基础增删查改简单实例

hibernate 基础理论知识网上很多,可以百度和google.这里不做多的介绍,以一个User表来开展例子 建一个web-project 我这里用了junit单元测试环境来进行增删查改的测试,别的不多说,导包就行 本次用到的所有jar包下载地址: 链接:http://pan.baidu.com/s/1skHrg0t 密码:dbe2 1.hibernate配置文件(hibernate.cfg.xml):主要是数据库连接核心的配置项 <?xml version='1.0' encoding='u

mybatis实现的对数据的增删查改

mybatis实现的对数据的增删查改 前期准备 新建java工程或java wweb工程, 需要导入以下的包, 基本工作已经完成,接下来开始进入正题. 新建实体类 新建与数据库表对应的实体类 package com.edu.hpu.domain; /** * @author Administrator *user表所对应的实体类 */ public class User { //实体类的属性和表的字段名称一一对应 private int id; private String name; priv