1. 导入相关的 jar 包
* mysql-connector-java.jar包(此包用于idea连接数据库用)
* Druid.jar(对数据库进行操作(增删查改,用的是mysql)
* 其他包用于数据操作使用
2. 进行相关的数据库配置 ,编写.xml文件 (放在java工程src目录下)
// 告诉java去com.mysql.jdbc路径下将Driver类加载到jvm内存中
driverClassName=com.mysql.jdbc.Driver
/* 因为此处是本机与端口号默认为80所以简写,全写为(jdbc:mysql://ip地址:端口号/db3?userUnicode=true&characterEncoding=UTF-8 */
url=jdbc:mysql:///db3?useUnicode=true&characterEncoding=UTF-8
// mysql的用户名和密码
username=root
password=root
// 初始化连接池的大小
initialSize=5
// 连接池最大的连接数
maxActive=10
// 等待时间,以防出现bug持续等待,设置3s(3000ms)无反应自动归还连接对象
maxWait=3000
3.编写JDBC的工具类,java-jvm加载Druid相关配置,初始化连接池等操作,具体代码如下:
package webtest;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import javax.sql.DataSource;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
// JDBC工具类,使用的是 Druid连接池
public class JDBCUtils {
// 创建一个连接池 ds,private对象默认为 null
private static DataSource ds;
static {
try {
// 1.加载配置文件
Properties pro = new Properties();
InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties");
pro.load(is);
// 2.初始化连接池
ds = DruidDataSourceFactory.createDataSource(pro);
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
// 获取连接池对象
public static DataSource getDs(){
return ds;
}
// 获取连接对象
public static Connection getConnection() throws SQLException {
return ds.getConnection();
}
}
4.创建数据库 -- 建表 -- 插入数据 以便于样例的测试
// 创建数据库 db3
CREATE DATABASE db3;
// 使用数据库 db3
USE db3;
// 建一个 users 表
CREATE TABLE users(
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(30) UNIQUE NOT NULL,
PASSWORD VARCHAR(30) NOT NULL
);
// 插入数据方便接下来的测试
INSERT INTO users VALUES(NULL,123,123);
5.封装一个 users 类
package webtest;
public 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;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
6.写一个Test类进行测试(本应该使用@Test独立测试,由于电脑配置有限,使用简单测试)
package webtest;
public class UserDaoTest {
public static void main(String[] args) {
UserDao userDao = new UserDao();
User loginuser = new User();
loginuser.setUsername("123");
loginuser.setPassword("123");
User user = userDao.login(loginuser);
if(user == null){
System.out.println("账号或密码错误");
}else {
System.out.println("欢迎您:" + loginuser.getUsername() + ",登录成功");
}
}
}
7.测试结果:
8.其他:
*需要相关jar留言留下邮箱即可。