`
yhan219
  • 浏览: 11558 次
  • 来自: 成都
社区版块
存档分类
最新评论

JDBC连接数据库并实现增删查改

 
阅读更多

JDBC连接数据库并实现数据库操作

package com.thunisoft.yhan.daos;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class BaseDao {

    protected Connection getConn() {
        String url = "jdbc:ArteryBase://localhost:5432/test?ApplicationName=user&Charset=utf8";
        String username = "sa";
        String password = "test";
        String driver = "com.thunisoft.ArteryBase.Driver";
        //以上部分根据情况自己写,mysql就写mysql的
        try {
            Class.forName(driver);
            Connection conn = DriverManager.getConnection(url, username, password);
            return conn;
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return null;
    }

    protected void closeAll(ResultSet rs, Connection conn, Statement s, PreparedStatement ps) {
        try {
            if (rs != null) {
                rs.close();
            }
            if (conn != null) {
                conn.close();
            }
            if (s != null) {
                s.close();
            }
            if (ps != null) {
                ps.close();
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    /**
     * 封装增删改操作,查操作要返回结果集,所以单独处理,见示例
     * @param sql
     * @param objects
     * @return
     */
    public boolean executeSql(String sql,Object ...objects){
        Connection conn=getConn();
        PreparedStatement ps=null;
        try {
            ps=conn.prepareStatement(sql);
            for(int i=0;i<objects.length;i++){
                ps.setString(i+1, objects[i].toString());
            }
            int result=ps.executeUpdate();
            return result!=0;
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            closeAll(null, conn, null, ps);
        }
        return true;
    }
}

使用方法

假设有一个user类:

package com.thunisoft.yhan.pojos;

public class User {
    private String id;
    private String name;
    private String password;
    private String provinceId;
    public User() {
        super();
        // TODO Auto-generated constructor stub
    }

    public User(String id, String name, String password, String provinceId) {
        super();
        this.id = id;
        this.name = name;
        this.password = password;
        this.provinceId = provinceId;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

    public String getProvinceId() {
        return provinceId;
    }

    public void setProvinceId(String provinceId) {
        this.provinceId = provinceId;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "User [id=" + id + ", name=" + name + ", password=" + password + ", provinceId=" + provinceId + "]";
    }


}

对user的增删查改操作:

package com.thunisoft.yhan.daos;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import com.thunisoft.yhan.pojos.User;

public class UserDao extends BaseDao {

    public boolean add(User user){
        String sql="insert into schema.user(id,name,password,provinceid) values(?,?,?,?)";
        return executeSql(sql, user.getId(),user.getName(),user.getPassword(),user.getProvinceId());
    }

    public boolean update(User newUser){
        String sql="update schema.user set name=?,provinceid=?,password=? where id=?";
        return executeSql(sql, newUser.getName(),newUser.getProvinceId(),newUser.getPassword(),newUser.getId());
    }

    public boolean delete(User user){
        String sql="delete from schema.user where id=?";
        return executeSql(sql, user.getId());
    }

    public User getUserBySql(String sql,Object ...objects){
        Connection conn=getConn();
        PreparedStatement ps=null;
        ResultSet rs=null;
        try {
            ps=conn.prepareStatement(sql);
            for(int i=0;i<objects.length;i++){
                ps.setString(i+1, objects[i].toString());
            }
            rs=ps.executeQuery();
            while(rs.next()){
                User user=new User();
                user.setId(rs.getString("id"));
                user.setName(rs.getString("name"));
                user.setPassword(rs.getString("password"));
                user.setProvinceId(rs.getString("provinceid"));
                return user;
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            closeAll(rs, conn, null, ps);
        }
        return null;
    }

    public User getUserById(String id){
        String sql="select * from schema.user where id=?";
        return getUserBySql(sql, id);
    }

    public List<User> getUsers(){
        List<User> users=new ArrayList<>();
        Connection conn=getConn();
        PreparedStatement ps=null;
        ResultSet rs=null;
        String sql="select * from schema.user";
        try {
            ps=conn.prepareStatement(sql);
            rs=ps.executeQuery();
            while(rs.next()){
                User user=new User();
                user.setId(rs.getString("id"));
                user.setName(rs.getString("name"));
                //不获取密码
                user.setProvinceId(rs.getString("provinceid"));
                users.add(user);
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            closeAll(rs, conn, null, ps);
        }
        return users;
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        UserDao userDao=new UserDao();
        //User u=new User("1","郑","1111","1");
        //userDao.add(u);
        User user=userDao.getUserById("1");
        System.out.println(user);
    }

}
<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>
分享到:
评论

相关推荐

    安卓SQLite数据库相关-基于android平台通过JDBC连接MySQL数据库实现增删查改操作.rar

    本教程将探讨如何在Android应用中使用JDBC(Java Database Connectivity)来连接并操作远程MySQL数据库,实现增删查改的基本功能。 首先,Android本身并不支持直接通过JDBC连接MySQL,因为Android的Java环境与标准...

    JDBC数据库连接及增删查改

    本文将深入探讨如何通过 JDBC 实现数据库的连接以及基本的增删查改操作。 #### 数据库连接 首先,要实现数据库的连接,我们需要加载相应的数据库驱动。在 Java 中,这通常通过 `Class.forName()` 方法来完成。例如...

    java编写数据库实现简单增删查改以及分页

    本示例通过Java实现了对数据库的简单增删查改(CRUD)以及分页功能,这在实际项目中非常常见。以下是对这些概念的详细解释: **1. 数据库连接** 首先,Java程序与数据库交互通常依赖于JDBC(Java Database ...

    简易的JavaWeb实现增删查改(附数据库)

    在本项目中,"简易的JavaWeb实现增删查改(附数据库)"是一个基于JavaWeb技术的小型应用程序,主要用于演示如何使用Java、JSP和MySQL数据库来实现基本的CRUD(创建、读取、更新和删除)操作。以下是这个项目涉及到的...

    jsp连接Oracle数据库实现增删改查

    在JavaWeb开发中,连接Oracle数据库并实现增删改查操作是常见的需求。"jsp连接Oracle数据库实现增删改查"这个项目旨在教你如何利用JSP(JavaServer Pages)技术来构建一个完整的用户管理系统,包括登录、注册以及对...

    JDBC实现Oracle数据库的增删改查

    本教程将深入探讨如何使用JDBC实现对Oracle数据库的增、删、改、查操作。 首先,我们需要理解JDBC的基本组件和工作流程。JDBC提供了一组接口和类,使得Java应用程序能够连接到数据库,执行SQL语句并处理结果。核心...

    jsp+jdbc+servlet分页带增删查改

    在这个"jsp+jdbc+servlet分页带增删查改"项目中,开发者使用了MVC(Model-View-Controller)架构模式,实现了对数据的CRUD(Create, Read, Update, Delete)操作,并提供了分页功能。** 1. **JSP(JavaServer Pages...

    java 实现数据库增删查改

    本文将深入探讨如何使用Java实现对数据库的基本操作:增(Insert)、删(Delete)、查(Select)与改(Update),并基于给定的代码示例进行详细解析。 ### 核心知识点 #### 1. Java数据库连接(JDBC) Java ...

    android连接本地mysql数据库实现增删查改-毕业设计项目

    总结起来,"android连接本地mysql数据库实现增删查改-毕业设计项目"是一个涵盖Android网络通信、数据库操作、后端服务开发等多个技术领域的综合实践。它涉及到Android应用与远程服务器的交互,以及通过RESTful API...

    多数据库的增删查改的操作

    本文将深入探讨如何在多数据库环境中执行基本的增删查改(CRUD)操作,并以SQLite数据库为例进行详细说明。 增(Create)操作是指在数据库中创建新的数据记录。在多数据库环境下,首先需要建立数据库连接,这可能...

    IDEA实现JDBC数据库的增删查改

    本文将详细介绍如何使用IDEA实现JDBC(Java Database Connectivity)对MySQL数据库进行增删查改操作。 首先,我们需要了解JDBC的基础知识。JDBC是Java中用于连接和操作数据库的标准接口,它允许Java程序与各种类型...

    jsp大作业源码-数据库创建增删查改

    4. **JDBC连接数据库**:在Java中,我们通常通过Java Database Connectivity (JDBC) API来连接和操作数据库。首先,加载数据库驱动(如`Class.forName("com.mysql.jdbc.Driver")`),然后使用`DriverManager.get...

    中间件xml实现增删查改

    在这个“中间件xml实现增删查改”的主题中,我们将深入探讨如何利用中间件来处理XML文件,以实现对数据库的链接以及对XML数据的操作。 首先,我们要理解什么是中间件。中间件可以被看作是操作系统和应用程序之间的...

    完整ssm框架整合连接数据库的增删查改

    这个框架整合提供了完整的数据访问和业务逻辑处理能力,尤其在连接数据库进行增删查改操作时,展现出高效和灵活的特性。下面我们将深入探讨SSM框架整合中的各个知识点。 首先,Spring框架作为基础,它主要负责依赖...

    Java-JDBC-通用数据库增删查改.zip

    通用的数据库连接,里面有一个后缀名为.properties的文件,里面主要是数据库的一些相关的配置,...可以适用于各种数据库的连接和对数据库内容的增删查改,而我们只需要更改后缀名成为.properties里面的内容就可以了。

    JPA连接数据库增删改查

    本篇文章将深入探讨JPA如何连接数据库,并展示其在增、删、改、查(CRUD)操作中的应用。 首先,我们需要了解JPA的基本架构。JPA的核心组件包括实体(Entity)、实体管理器(EntityManager)、实体管理工厂...

    mvc 实现 sql数据库的增删查改

    本文将深入探讨如何利用MVC模式实现SQL数据库的增删查改操作,并以"jsp_servlet"为例进行详细解释。 首先,我们来理解MVC模式的基本组成部分: 1. **模型(Model)**:模型是应用程序的核心,负责处理业务逻辑和...

    Android远程调用sql server实现增删查改

    通过上述步骤,可以实现在Android应用中对SQL Server数据库的远程访问,实现数据的增删查改等功能。在整个过程中,需要注意网络配置、驱动兼容性以及代码的优化等问题,确保应用程序能够高效稳定地运行。

Global site tag (gtag.js) - Google Analytics