第一步,编写Users实体类(Users实体类放在src下的entity实体类包下)
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 + '\'' +
'}';
}
}
第二步,编写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();
}
}
}
}
第三步,编写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;
}
}
备注:如有不清楚的地方,欢迎在评论区留言。