1.将加载驱动的文件放入Properties文件静态代码块中以后只需加载一次即可
2.提供一个静态的方法给外界调用获取连接对象
3。提供一个静态方法给外界关闭流
public class JDBCUtilsOld {
private static String url;
private static String user;
private static String password;
private static String driverClass;
static{
try {
Properties pro = new Properties();
FileReader fr = new FileReader("a.properties");
pro.load(fr);
url = pro.getProperty("url");
user = pro.getProperty("user");
password = pro.getProperty("password");
driverClass = pro.getProperty("driverClass");
Class.forName(driverClass);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 提供一个静态方法给外界调用获取连接对象
* @return
* @throws SQLException
*/
public static Connection getConnection() throws SQLException{
return DriverManager.getConnection(url, user, password);
}
/**
* 提供一个静态的关流方法给外界调用
* @throws SQLException
*/
public static void closeRes(PreparedStatement pstmt,ResultSet rs,Connection conn) throws SQLException{
if(rs!=null){
rs.close();
}
if(pstmt!=null){
pstmt.close();
}
if(conn!=null){
conn.close();
}
}
}
编写bean数据类 User
1.基本空参带参get/set tostring()方法
2.编写service服务类
3.编写dao包与数据库连接类
service服务类
public class UserService {
Userdao dao = new Userdao();
//注册的方法
public boolean register(Users users) throws SQLException{
return dao.addUser(users);
}
}
dao类与数据库连接
// 第一种方法
public boolean addUser(Users users) throws SQLException{
获取连接对象
Connection conn = JDBCUtilsOld.getConnection();
String sql = "insert into users(uname,upassword) values(?,?)";
//通过连接获取操作对象
PreparedStatement pstmt = conn.prepareStatement(sql);
//防止注入
pstmt.setString(1, users.getUname());
pstmt.setString(2, users.getUpassword());
int rows = pstmt.executeUpdate();
if(rows>0){
return true;
}
// 第二种方法
Connection conn = JDBCUtilsOld.getConnection();
QueryRunner qr = new QueryRunner();
String sql = "insert into users(uname,upassword) values(?,?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
int rows = qr.update(conn,sql, users.getUname(),users.getUpassword());
if(rows > 0) {
return true;
}
JDBCUtilsOld.closeRes(pstmt, null, conn);
return false;
}
RegisterDemo
public static void main(String[] args) throws SQLException {
Scanner sc = new Scanner(System.in);
Users users = new Users();
System.out.println("请输入注册用户名");
String uname = sc.next();
System.out.println("请输入注册密码");
String upassword = sc.next();
users.setUname(uname);
users.setUpassword(upassword);
UserService us = new UserService();
boolean result = us.register(users);
if(result == true){
System.out.println("注册成功");
}else{
System.out.println("注册失败");
}
}