把数据库连接信息放到.properties配置文件中,方便以后修改
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
import pojo.Users; //数据库表实体类
public class JdbcTest {
/**
* @param args
*/
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
String strSql=null;
Users bean=null;
String name=null;
String password=null;
//构造方法
public JdbcTest(){
Properties properties = new Properties(); //实例化Properties类
try {
//读取src下的配置文件,我的配置文件在src下,注意路径,前面的/
properties.load(this.getClass().getResourceAsStream("/jdbc.properties"));
String driver = properties.getProperty("db.driver"); //获取配置文件中键值对的值
String url = properties.getProperty("db.url");
String user = properties.getProperty("db.user");
String password = properties.getProperty("db.password");
try {
Class.forName(driver); //注册驱动
//连接数据库,获得conn连接对象
conn = DriverManager.getConnection(url, user, password);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//在这里写了一个测试类,其实是构造方法的实现过程,都用于创建连接,并获得连接对象
public void JdbcTest1(){
String driver="com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/jhwoa";
String user = "root";
String password="root";
try{
Class.forName(driver);
conn = DriverManager.getConnection(url,user,password);
}catch(SQLException e){
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//插入
//在这里用的是statement对象,其实对于动态参数的sql操作应该用Prestatement对象
public String insert(String name,String password){
try {
strSql="INSERT INTO users(name,password) VALUES('"+name+"','"+password+"')";
stmt=conn.createStatement();
stmt.executeUpdate(strSql);
System.out.println("插入语句执行成功:"+strSql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("插入失败");
}
return "ok";
}
//更新
public String update(long id,String name,String password){
try{
strSql= "UPDATE users SET name='"+name+"',password='"+password+"'";
stmt=conn.createStatement();
stmt.executeUpdate(strSql);
System.out.println("更新完成");
}catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("更新失败");
}
return "ok";
}
//删除
public String delete(long id){
try {
strSql="delete from users";
stmt=conn.createStatement();
stmt.executeUpdate(strSql);
System.out.println("删除完成");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "ok";
}
//查询
public String select(long id){
try{
strSql="select * from users where id='"+id+"'";
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(strSql);
while(rs.next()){
System.out.println(rs.getString("name"));
System.out.println(rs.getString("password"));
}
}catch(SQLException e){
e.printStackTrace();
}
return "ok";
}
//关闭资源,注意关闭顺序,从里向外关
public void close(){
if(rs!=null){
try {
rs.close();
if(stmt!=null){
stmt.close();
stmt=null;
}
if(conn!=null){
conn.close();
conn=null;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
rs=null;
}
}
}
分享到:
相关推荐
【Servlet +jsp+jdbc增删改查学生信息】是一个经典的Web开发示例,它结合了Java服务器页面(JSP)、Servlet和Java数据库连接(JDBC)技术,用于创建一个简单的学生信息管理系统。这个项目适用于初学者,可以帮助他们...
总的来说,"struts+jdbc增删改查"这个小案例涵盖了Web开发中基础的数据操作,是学习Java Web开发的典型应用场景。通过这个案例,开发者可以深入理解Struts 2的架构以及如何使用JDBC进行数据库操作,为进一步学习更...
在这个"Struts2 JDBC 增删改查"项目中,我们将探讨如何结合这两者来构建一个简单的数据管理应用。 首先,让我们深入理解Struts2的核心概念。Struts2框架提供了动作(Action)和结果(Result)的概念,动作负责处理...
对于增删改查操作,使用`Statement`或`PreparedStatement`。例如,插入数据: ```java String sql = "INSERT INTO users (name, email) VALUES (?, ?)"; PreparedStatement pstmt = conn.prepareStatement(sql); ...
Spring JDBC是Spring框架的一部分,它提供了一种抽象层,使得我们能够更方便地使用Java数据库连接(JDBC)来处理数据库操作,如增删改查(CRUD)。在这个主题下,我们将深入探讨Spring JDBC的核心概念、配置、以及...
通用的jdbc增删改查,仅仅只是两个通用的方法,利用反射和泛型
总的来说,`struts2+jdbc增删改查`的项目是一个适合初学者实践的实例,涵盖了Web开发中基础的数据库操作和业务流程处理。通过这个项目,开发者可以学习到如何在Struts2框架下利用JDBC与数据库交互,同时掌握JSP页面...
在"JSP+JDBC增删改查"的项目中,我们首先需要创建一个web项目,这通常包含Web-INF目录、WEB-INF下的web.xml配置文件、以及存放JSP页面的目录。在JSP页面中,我们可以使用EL(Expression Language)和JSTL(Java...
本文将详细讲解如何使用JDBC进行用户数据的增删改查操作。 首先,我们需要理解JDBC的基本流程,它包括加载驱动、建立连接、创建Statement对象、执行SQL语句以及关闭资源。以下是一个简单的示例: 1. **加载驱动**...
本篇主要围绕"jdbc增删改查加分页"这一主题展开,结合给出的标签"源码"和"工具",将深入讲解JDBC在数据库CRUD(Create、Read、Update、Delete)操作以及分页查询中的应用。 首先,我们需要了解JDBC的基本使用流程:...
在这个经典的JDBC增删改查程序中,我们可以深入理解JDBC的基本操作流程和核心概念。 1. **连接数据库**: 首先,我们需要通过`Class.forName()`加载数据库驱动,然后使用`DriverManager.getConnection()`方法建立...
实现完全的对jdbc对象的封装,只需调用则可对数据库进行CRUD操作
一个封装好的java JDBC增删改查类
这个JDBC增删改查的小例子,虽然简单,但涵盖了JDBC基本操作的关键步骤,对于初学者来说是非常有价值的实践项目。通过这个示例,你可以更好地理解和掌握如何在实际应用中使用JDBC进行数据库操作。
在Web项目开发中,"JSP+JDBC增删改查操作"是一个常见的技术组合,用于构建动态数据驱动的网页应用。JSP(JavaServer Pages)是Java平台上的服务器端脚本语言,它允许开发者在HTML页面中嵌入Java代码,以实现动态内容...
在这个“jdbc.rar”压缩包中,我们很显然会看到关于使用Java JDBC进行数据操作的示例代码,特别是增删改查(CRUD)功能的实现以及可能的封装。 首先,让我们理解JDBC的基本工作流程: 1. **加载驱动**:在使用JDBC...
**三、JDBC增删改查操作** 1. **增加(Insert)**:使用PreparedStatement的setXXX()方法设置参数,然后调用executeUpdate()插入数据。 2. **删除(Delete)**:根据条件构造SQL删除语句,执行executeUpdate()。 ...
总结来说,"jabc.rar_JDBC增删改查_java jdbc"的示例旨在教育开发者如何使用Java的JDBC API与数据库进行交互,涵盖基本的数据库操作,这对于任何Java开发者理解和构建数据驱动的应用都是至关重要的技能。通过实践...