Java Web プロジェクトで Java コードを使用してデータベース (MySQL) に接続するためのチュートリアル

最初のステップは、Users エンティティ クラスを作成することです (Users エンティティ クラスは、src の下のエンティティ クラス パッケージの下に配置されます)。

package entity;
//entity实体类
public class Users {
    /*下面的id,username,userpass根据自己在MySQL数据库中创建的来创建*/
    private int id;
    private String username;
    private String userpass;
    
    /*下面的代码全是用快捷键(Alt+Insert)生成*/
    //无参构造器
    public Users() {
    }

    //有参构造器
    public Users(int id, String username, String userpass) {
        this.id = id;
        this.username = username;
        this.userpass = userpass;
    }

    //Getter and Setter方法
    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 getUserpass() {
        return userpass;
    }

    public void setUserpass(String userpass) {
        this.userpass = userpass;
    }
    
    //to String()方法
    @Override
    public String toString() {
        return "Users{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", userpass='" + userpass + '\'' +
                '}';
    }
}

2 番目のステップは、Basedao.java を作成することです (これを src の下の dao パッケージに置きます)。

package dao;

import java.sql.*;

public class Basedao {
    private Connection conn=null;      //java.sql.Connection(连接)处理与特定数据库的连接
    private PreparedStatement ps=null; //java.sql.PreparedStatement (声明)在指定连接中处理SQL语句
    private ResultSet rs=null;         //java.sql.ResultSet(结果集) 处理数据库操作结果集
    //创建连接数据库的方法
    public Connection getConnection(){
        String url="jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf8&useSSl=true";
        try {
            Class.forName("com.mysql.jdbc.Driver");
            //java.sql.DriverManager 处理驱动程序的加载和建立新数据库连接
            conn= DriverManager.getConnection(url,"root","数据库密码");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return conn;
    }


    //封装通用的增删改查方法
    public int dosql(String sql,String array[]){
        int i=0;
        try {
            conn=getConnection();
            ps=conn.prepareStatement(sql);
            if(array!=null){
                for (int j = 0; j < array.length; j++) {
                    ps.setString(i+1,array[i]);
                }
            }
            i=ps.executeUpdate();
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            release(conn,ps,rs);
        }
        return i;
    }


    //封装释放连接资源的方法release(在每次用完数据库后要释放资源)
    public static void release(Connection connection, PreparedStatement preparedStatement, ResultSet resultSet){
        if(resultSet!=null){
            try {
                resultSet.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if(preparedStatement!=null){
            try {
                preparedStatement.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if(connection!=null){
            try {
                connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

3 番目のステップは、Userdao.java を作成することです (これを src の下の dao パッケージに置きます)。

package dao;

import entity.Users;
import java.sql.*;


//dao层是操作数据库
public class Userdao {
    Connection conn=null;
    PreparedStatement ps=null;
    ResultSet rs=null;

    Basedao dao=new Basedao();
    public List getUsers(){
        List list=new ArrayList();
        String sql="select*from 使用的数据库下的表名";
       //try catch 抛出异常
        try {
            conn=dao.getConnection();
            ps=conn.prepareStatement(sql);
            rs= ps.executeQuery();

            while(rs.next()){
                Users users=new Users();
                users.setId(rs.getInt("id"));
                users.setUsername(rs.getString("username"));
                users.setUserpass(rs.getString("userpass"));
                list.add(users);//装箱
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return list;
    }


    //封装添加用户信息的方法
    public int addUsers(Users users){
        String sql="insert into demo(username,userpass)values(?,?)";
        String array[]={users.getUsername(),users.getUserpass()};
        int i=dao.dosql(sql,array);
        return i;
    }
}

注:ご不明な点がございましたら、コメント欄にメッセージを残してください。

おすすめ

転載: blog.csdn.net/qq_63055262/article/details/123342635