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";
try {
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, username, password);
return conn;
} catch (Exception e) {
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) {
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) {
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();
}
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) {
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) {
e.printStackTrace();
}finally{
closeAll(rs, conn, null, ps);
}
return users;
}
public static void main(String[] args) {
UserDao userDao=new UserDao();
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>
分享到:
相关推荐
本教程将探讨如何在Android应用中使用JDBC(Java Database Connectivity)来连接并操作远程MySQL数据库,实现增删查改的基本功能。 首先,Android本身并不支持直接通过JDBC连接MySQL,因为Android的Java环境与标准...
本文将深入探讨如何通过 JDBC 实现数据库的连接以及基本的增删查改操作。 #### 数据库连接 首先,要实现数据库的连接,我们需要加载相应的数据库驱动。在 Java 中,这通常通过 `Class.forName()` 方法来完成。例如...
本示例通过Java实现了对数据库的简单增删查改(CRUD)以及分页功能,这在实际项目中非常常见。以下是对这些概念的详细解释: **1. 数据库连接** 首先,Java程序与数据库交互通常依赖于JDBC(Java Database ...
在本项目中,"简易的JavaWeb实现增删查改(附数据库)"是一个基于JavaWeb技术的小型应用程序,主要用于演示如何使用Java、JSP和MySQL数据库来实现基本的CRUD(创建、读取、更新和删除)操作。以下是这个项目涉及到的...
在JavaWeb开发中,连接Oracle数据库并实现增删改查操作是常见的需求。"jsp连接Oracle数据库实现增删改查"这个项目旨在教你如何利用JSP(JavaServer Pages)技术来构建一个完整的用户管理系统,包括登录、注册以及对...
本教程将深入探讨如何使用JDBC实现对Oracle数据库的增、删、改、查操作。 首先,我们需要理解JDBC的基本组件和工作流程。JDBC提供了一组接口和类,使得Java应用程序能够连接到数据库,执行SQL语句并处理结果。核心...
在这个"jsp+jdbc+servlet分页带增删查改"项目中,开发者使用了MVC(Model-View-Controller)架构模式,实现了对数据的CRUD(Create, Read, Update, Delete)操作,并提供了分页功能。** 1. **JSP(JavaServer Pages...
本文将深入探讨如何使用Java实现对数据库的基本操作:增(Insert)、删(Delete)、查(Select)与改(Update),并基于给定的代码示例进行详细解析。 ### 核心知识点 #### 1. Java数据库连接(JDBC) Java ...
总结起来,"android连接本地mysql数据库实现增删查改-毕业设计项目"是一个涵盖Android网络通信、数据库操作、后端服务开发等多个技术领域的综合实践。它涉及到Android应用与远程服务器的交互,以及通过RESTful API...
本文将深入探讨如何在多数据库环境中执行基本的增删查改(CRUD)操作,并以SQLite数据库为例进行详细说明。 增(Create)操作是指在数据库中创建新的数据记录。在多数据库环境下,首先需要建立数据库连接,这可能...
本文将详细介绍如何使用IDEA实现JDBC(Java Database Connectivity)对MySQL数据库进行增删查改操作。 首先,我们需要了解JDBC的基础知识。JDBC是Java中用于连接和操作数据库的标准接口,它允许Java程序与各种类型...
4. **JDBC连接数据库**:在Java中,我们通常通过Java Database Connectivity (JDBC) API来连接和操作数据库。首先,加载数据库驱动(如`Class.forName("com.mysql.jdbc.Driver")`),然后使用`DriverManager.get...
在这个“中间件xml实现增删查改”的主题中,我们将深入探讨如何利用中间件来处理XML文件,以实现对数据库的链接以及对XML数据的操作。 首先,我们要理解什么是中间件。中间件可以被看作是操作系统和应用程序之间的...
这个框架整合提供了完整的数据访问和业务逻辑处理能力,尤其在连接数据库进行增删查改操作时,展现出高效和灵活的特性。下面我们将深入探讨SSM框架整合中的各个知识点。 首先,Spring框架作为基础,它主要负责依赖...
通用的数据库连接,里面有一个后缀名为.properties的文件,里面主要是数据库的一些相关的配置,...可以适用于各种数据库的连接和对数据库内容的增删查改,而我们只需要更改后缀名成为.properties里面的内容就可以了。
本篇文章将深入探讨JPA如何连接数据库,并展示其在增、删、改、查(CRUD)操作中的应用。 首先,我们需要了解JPA的基本架构。JPA的核心组件包括实体(Entity)、实体管理器(EntityManager)、实体管理工厂...
本文将深入探讨如何利用MVC模式实现SQL数据库的增删查改操作,并以"jsp_servlet"为例进行详细解释。 首先,我们来理解MVC模式的基本组成部分: 1. **模型(Model)**:模型是应用程序的核心,负责处理业务逻辑和...
通过上述步骤,可以实现在Android应用中对SQL Server数据库的远程访问,实现数据的增删查改等功能。在整个过程中,需要注意网络配置、驱动兼容性以及代码的优化等问题,确保应用程序能够高效稳定地运行。