jdbc操作数据库语句

非常有用的jdbc操作数据库语句,记录下来,以方便以后的查询。

public class PersonDao {

    // 增加操作
    public void insert(Person person) throws Exception;

    // 修改操作
    public void update(Person person) throws Exception;
    // 删除操作
    public void delete(String id) throws Exception ;
    // 按ID查询操作
    public Person queryById(String id) throws Exception;
    // 查询全部
    public List queryAll() throws Exception;
    // 模糊查询
    public List queryByLike(String cond) throws Exception;
}
    // 此类需要完成具体的数据库操作,需要JDB代码
    public class PersonDAOImpl implements PersonDAO
    {
        // 增加操作
        public void insert(Person person) throws Exception
        {
            String sql = "INSERT INTO person (id,name,password,age,email) VALUES (?,?,?,?,?)" ;
            PreparedStatement pstmt = null ;
            DataBaseConnection dbc = null ;  

            // 下面是针对数据库的具体操作
            try
            {
                // 连接数据库
                dbc = new DataBaseConnection() ;
                pstmt = dbc.getConnection().prepareStatement(sql) ;
                pstmt.setString(1,person.getId()) ;
                pstmt.setString(2,person.getName()) ;
                pstmt.setString(3,person.getPassword()) ;
                pstmt.setInt(4,person.getAge()) ;
                pstmt.setString(5,person.getEmail()) ;
                // 进行数据库更新操作
                pstmt.executeUpdate() ;
                pstmt.close() ;
            }
            catch (Exception e)
            {
                throw new Exception("操作出现异常") ;
            }
            finally
            {
                // 关闭数据库连接
                dbc.close() ;
            }
        }
        // 修改操作
        public void update(Person person) throws Exception
        {
            String sql = "UPDATE person SET name=?,password=?,age=?,email=? WHERE id=?" ;
            PreparedStatement pstmt = null ;
            DataBaseConnection dbc = null ;  

            // 下面是针对数据库的具体操作
            try
            {
                // 连接数据库
                dbc = new DataBaseConnection() ;
                pstmt = dbc.getConnection().prepareStatement(sql) ;
                pstmt.setString(1,person.getName()) ;
                pstmt.setString(2,person.getPassword()) ;
                pstmt.setInt(3,person.getAge()) ;
                pstmt.setString(4,person.getEmail()) ;
                pstmt.setString(5,person.getId()) ;
                // 进行数据库更新操作
                pstmt.executeUpdate() ;
                pstmt.close() ;
            }
            catch (Exception e)
            {
                throw new Exception("操作出现异常") ;
            }
            finally
            {
                // 关闭数据库连接
                dbc.close() ;
            }
        }
        // 删除操作
        public void delete(String id) throws Exception
        {
            String sql = "DELETE FROM person WHERE id=?" ;
            PreparedStatement pstmt = null ;
            DataBaseConnection dbc = null ;  

            // 下面是针对数据库的具体操作
            try
            {
                // 连接数据库
                dbc = new DataBaseConnection() ;
                pstmt = dbc.getConnection().prepareStatement(sql) ;
                pstmt.setString(1,id) ;
                // 进行数据库更新操作
                pstmt.executeUpdate() ;
                pstmt.close() ;
            }
            catch (Exception e)
            {
                throw new Exception("操作出现异常") ;
            }
            finally
            {
                // 关闭数据库连接
                dbc.close() ;
            }
        }
        // 按ID查询操作
        public Person queryById(String id) throws Exception
        {
            Person person = null ;
            String sql = "SELECT id,name,password,age,email FROM person WHERE id=?" ;
            PreparedStatement pstmt = null ;
            DataBaseConnection dbc = null ;  

            // 下面是针对数据库的具体操作
            try
            {
                // 连接数据库
                dbc = new DataBaseConnection() ;
                pstmt = dbc.getConnection().prepareStatement(sql) ;
                pstmt.setString(1,id) ;
                // 进行数据库查询操作
                ResultSet rs = pstmt.executeQuery() ;
                if(rs.next())
                {
                    // 查询出内容,之后将查询出的内容赋值给person对象
                    person = new Person() ;
                    person.setId(rs.getString(1)) ;
                    person.setName(rs.getString(2)) ;
                    person.setPassword(rs.getString(3)) ;
                    person.setAge(rs.getInt(4)) ;
                    person.setEmail(rs.getString(5)) ;
                }
                rs.close() ;
                pstmt.close() ;
            }
            catch (Exception e)
            {
                throw new Exception("操作出现异常") ;
            }
            finally
            {
                // 关闭数据库连接
                dbc.close() ;
            }
            return person ;
        }
        // 查询全部
        public List queryAll() throws Exception
        {
            List all = new ArrayList() ;
            String sql = "SELECT id,name,password,age,email FROM person" ;
            PreparedStatement pstmt = null ;
            DataBaseConnection dbc = null ;  

            // 下面是针对数据库的具体操作
            try
            {
                // 连接数据库
                dbc = new DataBaseConnection() ;
                pstmt = dbc.getConnection().prepareStatement(sql) ;
                // 进行数据库查询操作
                ResultSet rs = pstmt.executeQuery() ;
                while(rs.next())
                {
                    // 查询出内容,之后将查询出的内容赋值给person对象
                    Person person = new Person() ;
                    person.setId(rs.getString(1)) ;
                    person.setName(rs.getString(2)) ;
                    person.setPassword(rs.getString(3)) ;
                    person.setAge(rs.getInt(4)) ;
                    person.setEmail(rs.getString(5)) ;  

                    // 将查询出来的数据加入到List对象之中
                    all.add(person) ;
                }
                rs.close() ;
                pstmt.close() ;
            }
            catch (Exception e)
            {
                throw new Exception("操作出现异常") ;
            }
            finally
            {
                // 关闭数据库连接
                dbc.close() ;
            }
            return all ;
        }
        // 模糊查询
        public List queryByLike(String cond) throws Exception
        {
            List all = new ArrayList() ;
            String sql = "SELECT id,name,password,age,email FROM person WHERE name LIKE ? or email LIKE ?" ;
            PreparedStatement pstmt = null ;
            DataBaseConnection dbc = null ;  

            // 下面是针对数据库的具体操作
            try
            {
                // 连接数据库
                dbc = new DataBaseConnection() ;
                pstmt = dbc.getConnection().prepareStatement(sql) ;
                // 设置模糊查询条件
                pstmt.setString(1,"%"+cond+"%") ;
                pstmt.setString(2,"%"+cond+"%") ;
                // 进行数据库查询操作
                ResultSet rs = pstmt.executeQuery() ;
                while(rs.next())
                {
                    // 查询出内容,之后将查询出的内容赋值给person对象
                    Person person = new Person() ;
                    person.setId(rs.getString(1)) ;
                    person.setName(rs.getString(2)) ;
                    person.setPassword(rs.getString(3)) ;
                    person.setAge(rs.getInt(4)) ;
                    person.setEmail(rs.getString(5)) ;  

                    // 将查询出来的数据加入到List对象之中
                    all.add(person) ;
                }
                rs.close() ;
                pstmt.close() ;
            }
            catch (Exception e)
            {
                throw new Exception("操作出现异常") ;
            }
            finally
            {
                // 关闭数据库连接
                dbc.close() ;
            }
            return all ;
        }
    };

PS:

1.pstmt操作时,第一个空格处,应该填写1,而不是0,否则会报错误的列索引;

2.查询完resultSet以后,先要对其进行非空判断,如果存在,再进行下一步的赋值;

3.数据库每次连接时,都要记住关闭,当然完全可以用数据库连接池来取代它,后面会对此做改进。

时间: 2024-12-15 01:34:45

jdbc操作数据库语句的相关文章

JDBC操作数据库的学习(2)

在上一篇博客<JDBC操作数据库的学习(1)>中通过对例1,我们已经学习了一个Java应用如何在程序中通过JDBC操作数据库的步骤流程,当然我们也说过这样的例子是无法在实际开发中使用的,本篇就在简单开发中如何对上一篇的例子进行“升级”,满足简单开发中对数据库的增删改查(CRUD). 如果按照上一篇中的例子,那么我们在做增删改查的话将会出现每个方法都要获取连接,释放资源,代码会出现很大的重复性,因此我们应该将每个增删改查每个方法中可以复用的代码抽取出来,同时为了能切换数据库方便,也该将一些配置信

JDBC操作数据库的学习(1)

单单对数据库的操作,比如说MySQL,我们可以在命令行窗口中执行,但是一般是应用程序要操作数据库,因此我们应该在程序中的代码上体现对数据库的操作,那么使用程序应用如何操作数据库呢?那就要使用到数据库的连接驱动,应用程序通过这些驱动来操作数据库: 但是这里就又有一个问题了,不同的数据库有各自的驱动程序,而一个应用程序要操作不同的数据库,那么就要懂得要使用的数据库的驱动如何操作,这样就增加了学习成本.好在我们使用Java开发应用,而Java中只需要使用JDBC就能操作所有的数据库,因为JDBC提供的

JDBC操作数据库的基本步骤

JDBC操作数据库的基本步骤: 1)加载(注册)数据库驱动(到JVM). 2)建立(获取)数据库连接. 3)创建(获取)数据库操作对象. 4)定义操作的SQL语句. 5)执行数据库操作. 6)获取并操作结果集. 7)关闭对象,回收数据库资源(关闭结果集-->关闭数据库操作对象-->关闭连接). package com.yangshengjie.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java

JDBC操作数据库的基本操作

JDBC操作数据库的基本步骤: 1)加载(注册)数据库驱动(到JVM). 2)建立(获取)数据库连接. 3)创建(获取)数据库操作对象. 4)定义操作的SQL语句. 5)执行数据库操作. 6)获取并操作结果集. 7)关闭对象,回收数据库资源(关闭结果集-->关闭数据库操作对象-->关闭连接). 1 package com.yangshengjie.jdbc; 2 import java.sql.Connection; 3 import java.sql.DriverManager; 4 imp

JDBC操作数据库的三种方式比较

JDBC(java Database Connectivity)java数据库连接,是一种用于执行上sql语句的javaAPI,可以为多种关系型数据库提供统一访问接口.我们项目中经常用到的MySQL.oracle.DB2等关系型数据库均是通过JDBC来访问的,现在主流的ORM框架Hibernate.Mybatis等均是在JDBC的基础上做的进一步封装.优化.一般小型的项目,可以直接用JDBC来访问数据库,简单方便.我在进过几个项目后,总结了三总JDBC的基本用法,对这几种用法做一个总结. 第一种

JDBC操作数据库的详细步骤

JDBC操作数据库的步骤: 1.注册驱动 告知JVM使用的是哪一个数据库的驱动 2.获得连接 使用JDBC中的类,完成对MySQL数据库的连接 3.获得语句执行平台 通过连接对象获取对SQL语句的执行者对象 4.执行sql语句 使用执行者对象,向数据库执行SQL语句 获取到数据库的执行后的结果 5.处理结果 6.释放资源  一堆close() 1.注册驱动,发射技术,将驱动加入到内容 使用java.sql.DriverManager类静态方法 registerDriver(Driver driv

几种通过JDBC操作数据库的方法,以及返回数据的处理

1.SQL TO String :只返回一个查询结果 例如查询某条记录的总数 rs = stmt.executeQuery(replacedCommand);             if (rs != null && rs.next()) // rs only contains one row and one column             {                    String tempStr = rs.getString(1);                 

Spark Streaming通过JDBC操作数据库

本文记录了学习使用Spark Streaming通过JDBC操作数据库的过程,源数据从Kafka中读取. Kafka从0.10版本提供了一种新的消费者API,和0.8不同,因此Spark Streaming也提供了两种API与之对应,其中spark-streaming-kafka-0-8支持Kafka 0.8.2.1以后的Broker:spark-streaming-kafka-0-10支持0.10.0以上Broker,处于实验阶段.两者的对比如下表所示. |spark-streaming-ka

jdbc操作数据库

Jdbc程序中的DriverManager用于加载驱动,并创建与数据库的链接, 这个API的常用方法:     DriverManager.registerDriver(new Driver());     DriverManager.getConnection(url,user,password); 注意:在实际开发中并不推荐采用registerDriver方法注册驱动,原因有二: 1.查看Driver的源代码可以看到,如果采用此种方式,会导致驱动程序注册两次,也就是在内存中会有两个Drive