JAVA简单链接Oracle数据库 注册和登陆功能的实现代码

yizhihongxing

让我来给您讲解一下“JAVA简单链接Oracle数据库 注册和登陆功能的实现代码”的完整攻略。

1. 需求分析

首先,我们需要明确需求,即实现一个具有注册和登录功能的网站,并且网站需要能够链接Oracle数据库,存储用户信息。

2. 环境搭建

接下来,我们需要搭建Java开发环境和Oracle数据库环境。具体的搭建过程这里不再赘述。需要注意的是,搭建完之后,需要在Java项目中添加Oracle数据库的驱动jar包,否则无法链接数据库。

3. 创建数据库表

在链接Oracle数据库之前,我们需要先创建数据库表。下面是一个简单的用户表结构示例:

CREATE TABLE user_info (
  id NUMBER,
  username VARCHAR2(50),
  password VARCHAR2(50)
);

4. 建立数据库链接

Java中链接Oracle数据库的方式有很多种,这里我们使用JDBC方式,具体代码如下:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class OracleJdbcTest {
    public static void main(String[] args) {
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
        } catch (ClassNotFoundException e) {
            System.out.println("Where is your Oracle JDBC Driver?");
            e.printStackTrace();
            return;
        }

        System.out.println("Oracle JDBC Driver Registered!");

        Connection connection = null;

        try {
            connection = DriverManager.getConnection(
                    "jdbc:oracle:thin:@//localhost:1521/XE", "username",
                    "password");

        } catch (SQLException e) {
            System.out.println("Connection Failed! Check output console");
            e.printStackTrace();
            return;
        }

        if (connection != null) {
            System.out.println("You made it, take control your database now!");
        } else {
            System.out.println("Failed to make connection!");
        }
    }
}

这里我们提供一个简单的示例代码,通过上面的代码,我们可以成功连接到Oracle数据库。

5. 注册和登录功能实现

下面是一个简单的Java代码实现,实现了注册和登录功能:

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

public class UserDAO {
    private static final String url = "jdbc:oracle:thin:@//localhost:1521/XE";
    private static final String user = "username";
    private static final String password = "password";
    private static final String jdbcDriver = "oracle.jdbc.driver.OracleDriver";
    private Connection conn;

    public UserDAO(){
        try {
            Class.forName(jdbcDriver);
            this.conn = DriverManager.getConnection(url, user, password);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public void register(User user){
        String sqlStr = "insert into user_info (id, username, password) values(?,?,?)";

        PreparedStatement psmt;
        try {
            psmt = this.conn.prepareStatement(sqlStr);
            psmt.setInt(1, user.getId());
            psmt.setString(2, user.getUsername());
            psmt.setString(3, user.getPassword());

            psmt.execute();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public boolean authenticate(String username, String password){
        String sqlStr = "select username, password from user_info where username = ? and password = ?";

        PreparedStatement psmt;
        try {
            psmt = this.conn.prepareStatement(sqlStr);
            psmt.setString(1, username);
            psmt.setString(2, password);

            ResultSet rs = psmt.executeQuery();
            if(rs.next()){
                return true;
            }else{
                return false;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return false;
    }

    public static void main(String[] args) {
        UserDAO dao = new UserDAO();

        User user = new User();
        user.setId(1);
        user.setUsername("user1");
        user.setPassword("password1");

        dao.register(user);

        boolean success = dao.authenticate("user1", "password1");
        if(success){
            System.out.println("Login success.");
        }else{
            System.out.println("Login failed.");
        }
    }
}

class User{
    private int id;
    private String username;
    private String password;

    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
}

在上面的代码中,我们首先实例化了一个UserDAO对象,然后调用UserDAO对象的register方法来注册一个新用户。接下来,我们使用authenticate方法验证该用户是否能够登录成功。

6. 示例

下面是一个示例,演示如何在网页中实现注册和登录功能:

<!DOCTYPE html>
<html>
<head>
    <title>Register & Login</title>
</head>
<body>
    <h1>Register Form</h1>
    <form action="register.jsp" method="post">
        <label for="username">Username:</label><br>
        <input type="text" id="username" name="username"><br>
        <label for="password">Password:</label><br>
        <input type="password" id="password" name="password"><br><br>
        <input type="submit" value="Submit">
    </form>

    <hr>

    <h1>Login Form</h1>
    <form action="login.jsp" method="post">
        <label for="username">Username:</label><br>
        <input type="text" id="username" name="username"><br>
        <label for="password">Password:</label><br>
        <input type="password" id="password" name="password"><br><br>
        <input type="submit" value="Login">
    </form>
</body>
</html>

在上面的页面中,我们使用了两个表单,一个用于用户注册,一个用于用户登录。

7. 总结

通过本文的介绍,我们详细讲解了如何使用Java语言链接Oracle数据库,并且成功实现了注册和登录功能。需要注意的是,这只是一个简单的示例,真实世界中的应用可能会更加复杂。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JAVA简单链接Oracle数据库 注册和登陆功能的实现代码 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • 详解springmvc常用5种注解

    让我们来详解一下SpringMVC常用的5种注解。 1. @RequestMapping @RequestMapping注解可以定义控制器方法的URL值。 一个控制器可以有多个方法,并且它们都可以映射到不同的URL值。 示例代码: @Controller @RequestMapping("/users") public class Use…

    Java 2023年6月15日
    00
  • Java注解详解及实现自定义注解的方法

    Java注解详解及实现自定义注解的方法 1. 什么是Java注解? Java注解是自JDK5版本之后引入的一项新特性,它可以通过在源代码中添加注解来为程序的元素(如类、方法、变量等)添加额外的信息,这些信息可以被编译器、IDE、框架等工具使用,以实现更加便捷、高效、灵活的开发方式。 一个Java注解的定义方式如下: public @interface MyA…

    Java 2023年5月27日
    00
  • Java使用jni清屏功能的实现(只针对cmd)

    下面是关于Java使用JNI清屏功能的实现攻略。 1. 概述 Java中使用JNI可以调用C代码,因此我们可以使用C代码实现一些Java无法直接实现的功能。本文将介绍如何使用JNI实现Java清屏功能(只针对cmd)。 2. 具体实现 2.1 JNI代码 我们需要编写C代码来实现清屏操作。以下是一个简单的C代码示例,可以实现Windows下的清屏操作: #i…

    Java 2023年5月26日
    00
  • springboot实现返回视图而不是string的方法

    SpringBoot实现返回视图而不是String的方法 在SpringBoot中,我们可以使用Thymeleaf、Freemarker等模板引擎来实现返回视图而不是String。下面是实现返回视图的几种方法。 1. 使用Thymeleaf Thymeleaf是一种现代化的服务器端Java模板引擎,可以用于Web和独立环境。下面是一个简单的示例: 在pom.…

    Java 2023年5月18日
    00
  • Java实现把两个数组合并为一个的方法总结

    针对“Java实现把两个数组合并为一个的方法总结”,我为您提供以下完整攻略。 1. 使用concat方法合并数组 Java提供了一个非常简单的函数concat来合并两个数组。但是,这种方法只适用于元素类型相同的数组。 具体操作步骤: 初始化两个需要合并的数组; 分别使用Arrays类的toString()方法将两个数组转换为字符串形式; 使用Arrays类的…

    Java 2023年5月26日
    00
  • jsp使用cookie存储中文示例分享

    使用Cookie存储中文字符是Java Web开发常见的一个问题,本攻略主要介绍使用JSP存储中文字符到Cookie中的方法。具体操作如下: 1. 添加Cookie 使用JSP的Cookie类的setValue()函数,可以在Cookie中存储中文字符。示例代码如下: <% //新建一个中文Cookie Cookie cookie = new Cook…

    Java 2023年6月15日
    00
  • MyBatis框架关联映射实例详解

    让我来为您详细讲解“MyBatis框架关联映射实例详解”的攻略。 1. 什么是MyBatis框架关联映射 MyBatis框架关联映射,简称MyBatis关联映射,是MyBatis框架中一项重要功能,它可以通过配置文件实现多个数据表之间的关联映射。在进行数据查询操作时,我们经常需要多表关联查询,此时就需要采用MyBatis框架关联映射来处理。下面我将会通过一个…

    Java 2023年5月20日
    00
  • java基于AspectJ(面向切面编程)编码示例分享

    下面我将简要介绍一下关于“Java基于AspectJ编码示例分享”的完整攻略。 了解AspectJ AspectJ是一种基于Java语言的AOP(面向切面编程)框架,它提供了完整的Java编程语言中AOP的支持,可以独立使用,也可以与Spring框架相结合使用。 AspectJ有自己的语法规则和关键字,其中最重要的关键字就是@Aspect。用@Aspect注…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部