
Java Web项目中使用Java代码连接数据库(MySQL)教程
第一步,编写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; } }
备注:如有不清楚的地方,欢迎在评论区留言。