Tutorial on using Java code to connect to the database (MySQL) in Java Web projects

The first step is to write the Users entity class (the Users entity class is placed under the entity class package under 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 + '\'' +
                '}';
    }
}

The second step is to write Basedao.java (put it in the dao package under src)

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();
            }
        }
    }
}

The third step is to write Userdao.java (put it in the dao package under src)

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;
    }
}

Note: If there is anything unclear, please leave a message in the comment area.

Guess you like

Origin blog.csdn.net/qq_63055262/article/details/123342635
Recommended