可能学过jdbc的朋友们都知道java是如何与数据库建立连接,现在想分享的是一种较为结构化的数据库操作,即DAO,啥都不多说,现上代码啦! O(∩_∩)O哈哈~
Java编程网:http://www.haohaoblog.com
package com.cn.crud.dao;
import java.sql.*;
import java.util.*;
import com.cn.crud.dto.*;
*/ //userDAO++++++++++++++++++++++++++++++++++++++++++++++++++
public class UserDAO
{
String driver = “com.mysql.jdbc.Driver”;
String url = “jdbc:mysql://localhost:3306/crud”;
String username = “root”; String password = “root”;
//CreateByDTO————————————————
public void createUser(UserDTO user)
{
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
try
{
Class.forName(driver);
con = DriverManager.getConnection(url,username,password);
String sql=”insert into user (userid,username,pass,name,sex,age) values (” + “‘” + user.getUserid() + “‘” + “,” + “‘” + user.getUsername() + “‘” + “,” + “‘” + user.getPass() + “‘” + “,” + “‘” + user.getName() + “‘” + “,” + “‘” + user.getSex() + “‘” + “,” + “‘” + user.getAge() + “‘” +”)”;
stmt = con.createStatement();
stmt.execute(sql);
}
catch(Exception sqlex1)
{ sqlex1.printStackTrace(); }
finally {
if (con != null)
{
try { con.close(); }
catch(SQLException sqlex2)
{ sqlex2.printStackTrace(); }
}
}
}
//UpdateByDTO————————————————
public void updateUser(UserDTO user)
{
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
try{
Class.forName(driver);
con = DriverManager.getConnection(url,username,password);
String sql = “update user set ” + “username =’” + user.getUsername() + “‘,” + “pass =’” + user.getPass() + “‘,” + “name =’” + user.getName() + “‘,” + “sex =’” + user.getSex() + “‘,” + “age =’” + user.getAge() + “‘” + ” where userid = ‘” + user.getUserid() + “‘” ; stmt = con.createStatement(); stmt.executeUpdate(sql);
}
catch(Exception sqlex1)
{ sqlex1.printStackTrace(); }
finally { if (con != null)
{ try { con.close(); }
catch(SQLException sqlex2)
{ sqlex2.printStackTrace(); } } } }
//UpdateByDTOs————————————————
public void updateUsers(Vector users)
{ Iterator it = users.iterator();
while(it.hasNext())
{ UserDTO user = (UserDTO)it.next(); updateUser(user); } }
//RemoveByPrimaryKey————————————————
public void removeByPrimaryKey(java.lang.String _userid)
{ Connection con=null;
Statement stmt=null;
ResultSet rs=null;
try{
Class.forName(driver);
con = DriverManager.getConnection(url,username,password);
String sql = “delete from user where userid = ‘” + _userid + “‘”;
stmt = con.createStatement(); stmt.execute(sql);
}
catch(Exception sqlex1)
{ sqlex1.printStackTrace(); }
finally
{ if (con != null)
{ try { con.close(); }
catch(SQLException sqlex2)
{ sqlex2.printStackTrace(); } } } }
//RemoveByDTO————————————————
public void removeUser(UserDTO user)
{ removeByPrimaryKey(user.getUserid()); }
//RemoveByDTOs————————————————
public void removeUsers(Vector users)
{ Iterator it = users.iterator();
while(it.hasNext())
{ UserDTO user = (UserDTO)it.next(); removeUser(user); } }
//findByPrimaryKey————————————————
public UserDTO findByPrimaryKey(java.lang.String _userid)
{ Connection con=null;
Statement stmt=null;
ResultSet rs=null;
UserDTO user = new UserDTO();
try{
Class.forName(driver);
con = DriverManager.getConnection(url,username,password);
stmt = con.createStatement();
String sql = “select * from user where userid = ‘” + _userid + “‘”;
rs = stmt.executeQuery(sql);
while(rs.next())
{
user.setUserid(rs.getString(“userid”));
user.setUsername(rs.getString(“username”));
user.setPass(rs.getString(“pass”));
user.setName(rs.getString(“name”));
user.setSex(rs.getString(“sex”));
user.setAge(rs.getString(“age”));
}
}
catch(Exception sqlex1)
{ sqlex1.printStackTrace(); }
finally
{ if (con != null)
{ try { con.close();
}
catch(SQLException sqlex2)
{ sqlex2.printStackTrace(); }
}
return user; } }
public List findAll()
{ Connection con = null;
Statement stmt = null;
ResultSet rs = null;
List ls = new ArrayList();
try
{ Class.forName(driver);
con = DriverManager.getConnection(url, username, password);
stmt = con.createStatement();
String sql = “select * from user”;
UserDTO user; rs = stmt.executeQuery(sql);
while(rs.next())
{ user = new UserDTO();
user.setUserid(rs.getString(“userid”));
user.setUsername(rs.getString(“username”));
user.setPass(rs.getString(“pass”));
user.setName(rs.getString(“name”));
user.setSex(rs.getString(“sex”));
user.setAge(rs.getString(“age”));
ls.add(user);
}
}
catch (Exception sqlex1)
{ sqlex1.printStackTrace(); }
finally {
if (con != null)
try { con.close(); }
catch (SQLException sqlex2)
{ sqlex2.printStackTrace(); }
return ls; } }
public static void main(String args[])
{ UserDAO dao=new UserDAO();
UserDTO dto=new UserDTO();
List ls=new ArrayList();
ls=dao.findAll();
System.out.println(ls.size());
if(ls.size()>0)
{ for(int i=0;i<ls.size();i++)
{ dto=(UserDTO)ls.get(i);
dto.getAge(); }} } }
有些地方是根据笔者电脑的配置环境来具体改变的,比如数据库的名称,数据库连接的表,用户名和密码,还有具体的DTO 名称,但以上代码是较为完整的数据库操作代码,只是有些外部调用类,但是都是很好理解!希望朋友们能够互相交流!
本文固定链接: http://www.haohaoblog.com/?p=145 | java编程网
分享到:
相关推荐
综上所述,Java DAO模式涉及的内容广泛,包括设计模式、JDBC、数据库连接池、SQL操作、事务管理、结果集处理、预编译SQL、ORM框架的使用以及异常处理等。对于初学者来说,理解并熟练掌握这些知识点,将有助于构建...
JDBC是Java与各种数据库交互的标准API,它允许我们创建数据库连接、发送SQL语句并处理结果集。在Java中,使用JDBC进行数据库编程通常包括以下步骤: 1. 加载数据库驱动:通过`Class.forName()`方法加载对应的数据库...
1. **基于Map的数据映射**:map-dao将数据库表的字段映射到Java中的Map对象,使得数据操作更加灵活。开发者无需手动创建大量的实体类,减少了代码量,提高了开发效率。 2. **简单易用的API**:map-dao提供了简单的...
- **s2dao-tiger**:这可能是针对特定JDBC驱动(如Oracle、MySQL等)或Java版本的扩展库,提供了针对不同数据库特性的定制化功能。 - **doc**:文档文件,可能包含S2-DAO的用户手册、API参考、教程或者示例代码,是...
在"spring连接数据库aop-jdbc"这个主题中,我们主要关注Spring框架如何通过AOP(面向切面编程)和JDBC(Java Database Connectivity)来实现数据库的高效管理。以下是关于这一主题的详细知识: 1. **Spring JDBC...
数据源定义了连接数据库所需的参数,如URL、用户名、密码等。以下是一个示例: ```xml <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> ``` 接下来是...
在Java编程中,连接...总的来说,Java连接数据库实现教师管理系统的增删改查,涉及了JDBC API的使用、SQL语句编写以及数据库操作的设计。在实际项目中,还需要关注性能优化、安全性、错误处理以及代码结构的合理性。
以上就是通过Java实现数据库操作的基本流程,包括了数据库建表、Java连接数据库、使用DAO设计模式进行增删改查操作,并进行相关的测试。这些知识点在实际的Web应用开发中至关重要,也是理解企业级应用程序的基础。...
Java连接MySQL数据库以及进行基本的DAO(Data Access Object)操作是Java后端开发中的常见任务。这个主题涵盖了许多重要的知识点,包括JDBC(Java Database Connectivity)API的使用、数据库连接池的配置、SQL语句的...
本资源提供的"JAVA连接数据库源码"是一个小型的家庭管理系统,涵盖了数据库的基本操作:增加(INSERT)、删除(DELETE)、修改(UPDATE)和查询(SELECT)。现在我们将详细讲解如何在Java中实现这些功能。 首先,...
2. **JDBC(Java Database Connectivity)**:JDBC是Java中用于连接数据库的标准API,它提供了一套接口和类来建立、管理和关闭数据库连接,执行SQL语句,并处理结果集。了解JDBC的基础知识包括加载驱动、创建连接、...
Java数据库连接(JDBC)是Java程序与各种数据库进行交互的标准API,它提供了连接数据库、执行SQL语句、处理结果集等功能。在Struts应用中,通常会有一个专门的配置文件(如struts.xml)来配置Action和DAO的映射关系...
在Java编程中,连接数据库以实现用户登录功能是一项基础但重要的任务。这通常涉及到数据库的交互,如查询、验证用户凭据等。本教程将详细解释如何使用Java连接Oracle数据库来实现用户登录系统。 首先,我们需要了解...
Java中的JDBC(Java Database Connectivity)API提供了一种标准的方式来连接和操作数据库。以下是一个简单的数据库连接示例: ```java import java.sql.Connection; import java.sql.DriverManager; import java....
DAO类包含连接数据库、执行SQL和处理结果集的方法,这样业务逻辑代码可以专注于业务处理,而不涉及具体的数据库操作。 此外,项目中的PPT介绍可能会涵盖系统的架构设计、数据库设计原则以及Java编程的一些基本概念...
实验报告的主题是“JAVA实验报告四数据库编程”,主要目的是让学生掌握基本的数据库管理系统(DBMS)使用、理解Java数据库连接(JDBC)的概念,并通过JDBC-ODBC桥接技术来开发实际的数据库系统。实验内容包括设计和...
本文将详细介绍如何使用DAO类实现Java连接数据库并执行基本的增、删、改、查(CRUD)操作。 首先,我们需要引入JDBC(Java Database Connectivity)API,它是Java与数据库交互的标准接口。在Java项目中,通常通过...
在Java开发中,JDBC(Java Database Connectivity)是连接数据库的标准API,它允许Java程序与各种数据库进行交互。DAO(Data Access Object)模式是一种设计模式,用于封装对数据库的所有访问,使得业务逻辑层与数据...
这个"java数据库连接和操作包"很可能是包含了一些自定义的Java类和方法,专门用于简化数据库操作的流程。 首先,让我们了解一下JDBC的基本使用流程: 1. **加载驱动**:在Java程序中,我们需要先加载对应数据库的...
在Java编程中,数据库操作是不可或缺的一部分,尤其是在开发企业级应用时。本篇文章将深入探讨Java如何连接并操作数据库,包括基本的CRUD(Create、Read、Update、Delete)操作和不同的数据库连接方式。 首先,Java...